如何在 Django 中手动渲染表单属性?
How Do I Render Form Attributes Manually in Django?
我正在尝试手动呈现 name 属性。
{% for language in form.languages %}
<div class="form-check">
<input class="form-check-input" id="{{ language.id_for_label }}" name="{{ language.field.name }}" type="checkbox">
<label class="form-check-label" for="{{ language.id_for_label }}">{{ language.choice_label }}</label>
</div>
{% endfor %}
除输入标签的 name 属性外,一切都呈现得很好。
form.languages 是在我的表单上显示为 ModelMultipleChoiceField 的 ManyToManyField,在我的 forms.py.
中使用以下代码
languages = forms.ModelMultipleChoiceField(
queryset=Language.objects.all(),
widget=forms.CheckboxSelectMultiple
)
编辑: 找到了罪魁祸首,显然我需要一个 value 属性,而不是 name 属性,现在我只需要找到一种方法将值放入模板中。
我解决了这个问题。我所做的是使用 {{ language.data.value }}.
我正在尝试手动呈现 name 属性。
{% for language in form.languages %}
<div class="form-check">
<input class="form-check-input" id="{{ language.id_for_label }}" name="{{ language.field.name }}" type="checkbox">
<label class="form-check-label" for="{{ language.id_for_label }}">{{ language.choice_label }}</label>
</div>
{% endfor %}
除输入标签的 name 属性外,一切都呈现得很好。
form.languages 是在我的表单上显示为 ModelMultipleChoiceField 的 ManyToManyField,在我的 forms.py.
中使用以下代码languages = forms.ModelMultipleChoiceField(
queryset=Language.objects.all(),
widget=forms.CheckboxSelectMultiple
)
编辑: 找到了罪魁祸首,显然我需要一个 value 属性,而不是 name 属性,现在我只需要找到一种方法将值放入模板中。
我解决了这个问题。我所做的是使用 {{ language.data.value }}.