在Django窗體中水平對齊單選按鈕




forms radio-button (2)

那就是RadioField的行為。 如果您想要水平渲染,請創建一個水平渲染器,如下所示:

from django.utils.safestring import mark_safe

class HorizontalRadioRenderer(forms.RadioSelect.renderer):
  def render(self):
    return mark_safe(u'\n'.join([u'%s\n' % w for w in self]))


class ApprovalForm(forms.Form):
    approval = forms.ChoiceField(choices=APPROVAL_CHOICES,
                 initial=0,
                 widget=forms.RadioSelect(renderer=HorizontalRadioRenderer),
                                 )

您好

我想水平對齊單選按鈕。 默認情況下,django以垂直格式顯示。

feature_type  = forms.TypedChoiceField(choices = formfields.FeatureType, widget = forms.RadioSelect)

是否有任何特殊的參數,我們可以通過單選按鈕對齊?

提前致謝


修改形式.RadioSelect:

class HorizontalRadioSelect(forms.RadioSelect):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        css_style = 'style="display: inline-block; margin-right: 10px;"'

        self.renderer.inner_html = '<li ' + css_style + '>{choice_value}{sub_widgets}</li>'

使用Python 3.4和Django 1.10的標準管理器一起工作

和Django-Suit( http://djangosuit.com/ )(它使用Bootstrap的兩種風格)

沒有為Django-grappelli測試過。





alignment