優れたユーザー エクスペリエンスを実現するために、チェックボックスをテンプレートと一緒に接続するのに問題があります。次のように記述されている次の MyType を含むビューにフォームを送信しています。
モデル
class A(models.Model):
MyType = models.ManyToManyField(P)
フォーム
MyType = forms.ModelMultipleChoiceField(queryset=P.objects.all(), required=False, widget=forms.CheckboxSelectMultiple)
ビューは次のように送信されます。
return render(request, "static/about.html", {'form': form})
テンプレートには、次のような構造があります
<li class="option table">
<div class="cell" id="center">
<div class="option-text">Option 1</div>
</div>
<div class="cell" id="right">
<div class="option-checkbox">
<div class="check"></div>
<input id="myid1" name="myname1" value="1" type="checkbox">
</div>
</div>
これで、回答を使用できます: django フォームで、フィールドごとに個々のオプションをループするにはどうすればよいですか? ループスルーしますが、これは説明のみを提供します。オプションを最もスマートな方法で処理する実際の HTML を再作成するにはどうすればよいですか?
シェルでオブジェクトを調べてみましたが、何を引き込む必要があるのか 本当にわかりません。つまり、テンプレートを再作成します。各オプションのどのフィールドを入力する必要がありますか? または、フォームの保存の側面が機能するように、HTML を構築するための適切な情報を取得するにはどうすればよいですか。
テンプレートでは、私はできません:
{% for field in form["MySmoking"] %}
{% endfor %}
では、どうすれば次のように変更できますか。
{% for option in form.MyType.field.choices.queryset %}
{{ option.image }}
{{ option.title }}
{{ option.description }}
{% endfor %}
では、チェックボックスを作成する HTML をどのように吐き出すのでしょうか。
ありがとう。