我已经开始在 django 项目中使用 django-cripsy-forms。默认情况下,我希望crispy 不为每个表单打印标签。我知道我可以为每个表单创建一个助手并设置helper.form_tag = False属性。然而,这对于所有现有的表格来说是很麻烦的。
有谁知道是否可以覆盖默认的脆皮设置?
我已经开始在 django 项目中使用 django-cripsy-forms。默认情况下,我希望crispy 不为每个表单打印标签。我知道我可以为每个表单创建一个助手并设置helper.form_tag = False属性。然而,这对于所有现有的表格来说是很麻烦的。
有谁知道是否可以覆盖默认的脆皮设置?
我发现自己处于类似的境地。我想出的是一个混合视图,如下所示。我仍然必须将此 mixin 添加到相关视图中,但我发现它比添加helper到所有表单中更好。至少我可以更改所有helper未定义表单的默认行为。
此方法仅适用于基于类的视图。如果您使用基于函数的视图,您可以通过添加一个prepare_form函数并在每次在视图中使用表单时调用它来完成类似的行为。
CrispyFormsMixin 类(对象):
def get_form(自我,form_class):
form = super(CrispyFormsMixin, self).get_form(form_class)
# 为crispy_forms 添加一个默认助手
如果不是 getattr(form, 'helper', None):
form.helper = FormHelper()
form.helper.form_tag = False
退货表格