如何在 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 }}.