Django - Crispy Forms - 自定义输入定位和内联单选按钮

时间:2016-05-11 01:35:26

标签: html django django-crispy-forms

前段时间我一直在使用django-crispy-forms而且我想知道是否有办法设置输入的位置,如col-md-XX类或其他东西使它看起来更好,而不仅仅是一个字段列表。

以下是一个例子:

使用{{ form | crispy }}{% crispy form %}这是一个“正常”渲染的脆形式 enter image description here

我想在forms.py或类似的东西中使用python代码进行渲染。实际上,我通过键入HTML代码并使用as_crispy_field标记进行渲染来实现此目的。 enter image description here

最后,当我使用{% crispy form %}呈现表单时,我可以使用内嵌样式的单选按钮,但使用as_crispy_field标记,即使使用InlineRadios布局,无线电仍然看起来是垂直的帮助者。

as_crispy_field enter image description here

{% crispy form %} enter image description here

有没有办法让收音机看起来像水平或内嵌as_crispy_field标签?

1 个答案:

答案 0 :(得分:0)

您可以使用crispy InlineRadio Layouts — django-crispy-forms 1.0.0 documentation

class ProgramaForm(forms.ModelForm):
   class Meta:
        model = MyModel
        fields = ['programa']

   def __init__(self, *args, **kwargs):
        super(ProgramaForm, self).__init__(*args, **kwargs)
        self.fields['programa'].required = True
        self.helper = FormHelper()
        self.helper.layout = Layout(
           Div(InlineRadios('programa')),
        )
        self.helper.add_input(Submit('submit', 'Submit'))

Horizontal Radio Buttons For Boolean Values Using Crispy Forms with Django