如何在复选框字段的模板中添加不同的XHTML?我希望以下工作。我尝试在下面的示例中使用“is_checkbox”,但它不起作用,因为这不是管理员表单。
{% for field in payment_form %}
<p class="{% if field.is_checkbox %}checkboxes {% endif %} ">
{% if field.is_checkbox %}
{{ field }} {{ field.label_tag }}
{% else %}
{{ field.label_tag }} {{ field }}
{% endif %}
<span class="error">{{ field.errors }}</span>
</p>
{% endfor %}
答案 0 :(得分:1)
好吧,如果它确实是一个自定义表单而不是管理表单,您可以随时覆盖这些表单的表单字段/小部件。 喜欢,
class MyCheckboxInput(forms.CheckboxInput):
def is_checkbox(self):
return True
在表单类中使用 MyCheckboxInput ,而不是 forms.CheckboxInput 。它将为您提供模板上的 is_checkbox attr,然后您的代码就可以运行。
答案 1 :(得分:0)
我会使用TemplateTag执行此操作,TemplateTag是一种自定义过滤器,用于格式化表单。 形式{{form | beautify_form}} 由于可以编辑所有要显示的表单,因此您可以放弃委派给单独函数的所有格式。