我无法将复选框与模板连接起来,以提供良好的用户体验。我将表单发送到包含以下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>
现在我可以使用answer:On a django form, how do I loop through individual options per field?来循环播放,但这只会给出描述。如何以最智能的方式重新创建处理选项的实际HTML?
我已经尝试过shell来查看对象,但是我真的看不到我应该引入的内容。即在模板中重新创建。我应该引入哪些选项?或者我如何获得正确的信息来构建我的HTML,以便表单的保存方面起作用。
在模板中,我无法做到:
{% for field in form["MySmoking"] %}
{% endfor %}
所以我怎么能修改以下内容:
{% for option in form.MyType.field.choices.queryset %}
{{ option.image }}
{{ option.title }}
{{ option.description }}
{% endfor %}
那么,我将如何吐出构建复选框的HTML。
感谢。