2012-12-11 45 views

回答

1

我发现自己处于类似的情况。我想到的是下面这个视图的混合。尽管如此,我仍然需要将这个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 

相关问题