Django {% crispy %} 标签 vs {{ form|crispy }} 过滤器有什么区别?
Django {% crispy %} tag vs {{ form|crispy }} filter what's the difference?
我正在努力思考 crispy 表单在后台执行的操作。
当我将标签 {% crispy form %}
放入我的 HTML 块时,会呈现我的表单布局和清晰的 bootstrap 格式(from crispy_forms.layout import Layout, Row, Column
和 from crispy_forms.bootstrap import AppendedText, InlineRadios
)正确,但 提交按钮不会 post 到我的模型或重定向用户。
当我将标签 {{ form|crispy }}
放入我的 HTML 块中时,我的表单 布局未呈现 但提交按钮正常工作并且 posts 用户输入到我的模型。
我正在想办法让漂亮的布局 和 都具有实用的 HTML 形式。
我想通了,
您必须在 model/form 中的 Python 中将 POST 按钮添加到您的助手中,才能使 {% crispy form %}
标签起作用。
我最初在 HTML <button class="btn btn-primary" type="submit">Submit</button>
中有一个提交按钮,它只适用于 crispy 过滤器 {{ form|crispy }}
class ProfileUpdateForm(forms.ModelForm):
class Meta:
model = Profile
def __init__(self, *args, **kwargs):
super(ProfileUpdateForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.layout = Layout(AppendedText('foo','bar')
self.helper = FormHelper(self)
self.helper.add_input(Submit('submit', 'Submit', css_class='btn-primary'))
self.helper.form_method = 'POST'
我正在努力思考 crispy 表单在后台执行的操作。
当我将标签 {% crispy form %}
放入我的 HTML 块时,会呈现我的表单布局和清晰的 bootstrap 格式(from crispy_forms.layout import Layout, Row, Column
和 from crispy_forms.bootstrap import AppendedText, InlineRadios
)正确,但 提交按钮不会 post 到我的模型或重定向用户。
当我将标签 {{ form|crispy }}
放入我的 HTML 块中时,我的表单 布局未呈现 但提交按钮正常工作并且 posts 用户输入到我的模型。
我正在想办法让漂亮的布局 和 都具有实用的 HTML 形式。
我想通了,
您必须在 model/form 中的 Python 中将 POST 按钮添加到您的助手中,才能使 {% crispy form %}
标签起作用。
我最初在 HTML <button class="btn btn-primary" type="submit">Submit</button>
中有一个提交按钮,它只适用于 crispy 过滤器 {{ form|crispy }}
class ProfileUpdateForm(forms.ModelForm):
class Meta:
model = Profile
def __init__(self, *args, **kwargs):
super(ProfileUpdateForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.layout = Layout(AppendedText('foo','bar')
self.helper = FormHelper(self)
self.helper.add_input(Submit('submit', 'Submit', css_class='btn-primary'))
self.helper.form_method = 'POST'