問題タブ [django-crispy-forms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - クリスピーなフォーム レイアウトを繰り返し構築しますか?
現在、ユーザーが製品を編集できるようにするフォームをレンダリングしようとしていますが、現在、フォームはすべて 1 つの長い列として表示されています。
2 つの列に分割するように要求されましたが、ModelForm
を使用して生成されているために問題が発生しています。modelform_factory()
2 つのフォーム オブジェクトごとに新しい div を挿入できるクリスピー レイアウト オブジェクトを生成する方法はありますか?
注: 用紙の長さは事前にわかりません。
コードを表示:
レイアウト オブジェクトの例:
django - django クリスピー フォームで言及されていないフィールドを含む div で各フォームをフォームセットにラップします
次のコードを使用して、フォームセット内のフォームのすべてのフォーム フィールドを django クリスピー フォームの div にまとめています。
FormHelper を「self」でインスタンス化すると、すべてのフィールドを指定しなくてもレイアウトが自動生成されます。フィールドが動的に生成されるため、これが必要です。問題は、DELETE フィールドと ORDER フィールドがレイアウトに追加されていないことです。そこで、render_unmodified_fields を True に設定しました。この設定では、これら 2 つのフィールドは少なくともフォームに表示されますが、div の残りのフィールドでラップされません。
フォームセット内のフォームを手動で反復処理して div でラップできることはわかっていますが、これはこれまで行ってきたことですが、これにはフォームセットの非フォーム エラーを手動で処理する必要があり、通常は自動的に行われます。クリスピーで。
編集: 要求に応じてコードを更新しました。このクラス全体は実際には fields_list に値を設定するファクトリ メソッドにラップされているため、特定のフィールドのみを動的に含めることができます。ORDER と DELETE は意図的に省略されています。それらは自動的に検出され(それらを含めるとエラーになります)、フォームに表示されます。単に div にラップされません。
django - Django Crispy Forms ファイル アップロード フィールド
クリスピー フォームを正しく作成したと思っていましたが、カスタム クリスピー フォームではなく、標準の Django フォームとしてレンダリングされています。
フォーム.py:
SmallFileField (ブートストラップに基づく):
form.html
PS。このフォームは、3 ステップのフォーム ウィザードの 1 ステップです。あなたのアイデアに感謝します!
django - Django クリスピー フォームが CSS をロードしない
私はこの質問を SO: Django Crispy-forms cannot find CSSで見ました 、受け入れられた回答のすべての提案に従いました。
- 「crispy-forms」は INSTALLED_APPS の下にリストされています
- 私は運用サーバーを実行していないため、collectstatic オプションが適用されているかどうかはわかりません (実行しましたが)。
また、ブートストラップ テンプレート パックを使用しようとしているので、CRISPY_TEMPLATE_PACK = 'bootstrap' を settings.py ファイルに追加しました。
https://gist.github.com/maraujop/1838193から例で作成したフォームを読み込むと、ページに CSS がありません。何かアドバイス?ありがとう!
編集: 私はまだ何かが欠けていると思います。Bootstrap をダウンロードし、アプリ内の静的ディレクトリに解凍しました。
base.html を作成しました。
私のテンプレートには、次のものがあります。
ページを読み込もうとすると、フォームは読み込まれますが (うわー)、まだ CSS はありません。ページのソースを見ると、次のことがわかります。
しかし、Django はファイルを見つけられないようです。
django - Django フォームと django-bootstrap-toolkit を使用した HTML5 フォーム属性
を含むDjango 1.5
アプリケーションでdjango-bootstrap-toolkit
は、次の html 結果が必要です。
重要なのは、追加の「%」とtype="number"
、min
およびmax
ここに私のフォームコードがあります:
しかし、 htmltype
では、min
そしてmax
欠落しています。
step="2"
属性を取得する機会もありますか?
これは可能でしょうcrispy-forms
か?
django - Django BooleanField にラベルが表示されない
私は Django フォームと Django Crispy Forms (テーマとして Bootstrap を使用) をいじっています。2 つのフィールドを定義しました。
と
フォームをレンダリングすると、test2 フィールドに次のようなラベルが表示されます。
その下に「その他のヘルプ テキスト」があります。
ただし、test1 (BooleanField) の場合、ラベルはテキスト ボックスの後に表示される値を変更するようです。
次のように表示する方法はありますか?
ありがとう!
python - Django クリスピー フォーム分割フィールド レイアウト
フォームテンプレートのさまざまな部分でさまざまなフィールドをレンダリングできるようにしたいクリスピーフォームがありますが、クリスピードキュメントHTML
でこれを行う方法が見つかりません。以下は、私たちがやろうとしていることを説明するために、わずかに作成されたコードです。
フォーム.py
template.html
これを達成するためのクリーンな方法を知っている人はいますか?
これまで検討して除外しなければならなかったアプローチは次のとおりです。
- フィールドをクリスピーにレンダリングする代わりに、手動で HTML にフィールドを追加することができます。
choice
ただし、オプションがプログラムで決定されるフィールドが多数あるため、これはうまくいかないようです。 crispy.forms.layout.HTML
レイアウトの 2 つの異なる部分を分割する HTML を含むオブジェクトを使用するクリスピーなレイアウトを作成できます。しかし、HTML が多く、これを直接 python に埋め込むと保守が難しくなります。- カスタム レイアウト オブジェクトを作成してこれを行うこともできますが、これは非常に複雑になると予想されるため、これは最後の手段と考えたいと考えています。
- クリスピーを使用せず、代わりにクリスピーの外でこれを実現する方法を探すこともできますが、そうすると、アプリケーション内の他のすべてのフォームとの一貫性が失われます。
django - Formクラスを変更せずにdjango-crispy-form FormHelperを使用することは可能ですか?
一貫性を保つために、ログインフォームでクリスピーを使用したいと思います。私は使用して'django.contrib.auth.views.login'
おり、テンプレートをコーディングしているだけです。
問題は{% crispy form %}
、送信ボタンも「次の」隠しフィールドも出力しないことです。
FormHelper
外で作成する方法はありますかforms.py
(contrib.authにあるので、拡張するAuthenticationForm
か、そのようなものを試す必要があります)、変更せずにテンプレートで使用しますviews.py
(contrib.authでも)
クラスを拡張するなどの忍術が必要な場合は、純粋なHTMLを使用しますがFormHelper
、テンプレートレベルで「外部」を含める簡単な方法があれば、尋ねなかったことを後悔します