我已经开始在django项目中使用django-cripsy-forms。默认情况下,我希望crispy不打印每个表单的标签。我知道我可以为每个表单创建一个帮助器并设置helper.form_tag = False
属性。但是,对于所有现有形式来说,这很麻烦。
有谁知道是否可以覆盖默认的脆皮设置?
答案 0 :(得分:2)
我发现自己处于类似情况。我想出的是一个mixin,用于下面这样的视图。我仍然需要将此mixin添加到相关视图中,但我发现它比向所有表单添加helper
更好。至少我可以更改所有未定义helper
的表单的默认行为。
此方法仅适用于基于类的视图。如果使用基于函数的视图,则可以通过添加prepare_form
函数来完成类似的行为,并在每次在视图中使用表单时调用它。
class CrispyFormsMixin(object): def get_form(self, form_class): form = super(CrispyFormsMixin, self).get_form(form_class) # Add a default helper for crispy_forms if not getattr(form, 'helper', None): form.helper = FormHelper() form.helper.form_tag = False return form