djangoプロジェクトでdjango-cripsy-formsを使い始めました。デフォルトでは、すべてのフォームのタグを印刷しないようにクリスピーにしたいと思います。フォームごとにヘルパーを作成し、helper.form_tag = False
プロパティを設定できることを知っています。ただし、これは既存のすべてのフォームに対して行うのは面倒です。
デフォルトのクリスピー設定を上書きできるかどうか誰かが知っていますか?
djangoプロジェクトでdjango-cripsy-formsを使い始めました。デフォルトでは、すべてのフォームのタグを印刷しないようにクリスピーにしたいと思います。フォームごとにヘルパーを作成し、helper.form_tag = False
プロパティを設定できることを知っています。ただし、これは既存のすべてのフォームに対して行うのは面倒です。
デフォルトのクリスピー設定を上書きできるかどうか誰かが知っていますか?
私も同じような状況にありました。私が思いついたのは、以下のようなビューのミックスインです。helper
それでも、このミックスインを関連するビューに追加する必要がありますが、すべてのフォームに追加するよりも優れていることがわかりました。少なくとも、helper
定義せずにすべてのフォームのデフォルトの動作を変更することができます。
このメソッドは、クラスベースのビューに対してのみ機能します。関数ベースのビューを使用する場合は、prepare_form
関数を追加して、ビューでフォームを使用するたびにそれを呼び出すことで、同様の動作を実現できます。
クラスCrispyFormsMixin(object): def get_form(self、form_class): form = super(CrispyFormsMixin、self).get_form(form_class) #crispy_formsのデフォルトヘルパーを追加します getattr(form、'helper'、None)でない場合: form.helper = FormHelper() form.helper.form_tag = False 返品フォーム