我正在努力解决的问题如下:
我有:
{% for field in form %}
{{ field }}
{% end for %}
我想要的是使用'if'语句来排除.label或其他任何提供的字段。像:
{% for field in form%}
{% if field == title %}
{% else %}
{{ field }}
{% endif %}
{% endfor %}
有可能吗?我必须在很多领域逐一编写它们,只有一两个要排除。
感谢您的任何提示。
BR, Czlowiekwidmo。
答案 0 :(得分:10)
是的,这应该是可能的:
{% for field in form %}
{% ifnotequal field.label title %}
{{ field }}
{% endifnotequal %}
{% endfor %}
Django的template tags提供ifequal
和ifnotequal
变体,您可以针对上下文变量或字符串测试field.label。
答案 1 :(得分:7)
您可能更乐意创建表单的子类,不包括违规字段。 见http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#form-inheritance
class SmallerForm( MyForm ):
class Meta(MyForm.Meta):
exclude = [ title ]