Czl*_*dmo 4 python django-templates
我正在努力解决的问题如下:
我有:
{% for field in form %}
{{ field }}
{% end for %}
Run Code Online (Sandbox Code Playgroud)
我想要的是使用'if'语句来排除.label或其他任何提供的字段.喜欢:
{% for field in form%}
{% if field == title %}
{% else %}
{{ field }}
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
可能吗?我有很多字段要逐一编写,只有一两个要排除.
谢谢你的任何提示.
BR,Czlowiekwidmo.
Jar*_*die 10
是的,这应该是可能的:
{% for field in form %}
{% ifnotequal field.label title %}
{{ field }}
{% endifnotequal %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
Django的模板标签提供ifequal和ifnotequal变体,您可以针对上下文变量或字符串测试field.label.
您可能更乐意创建表单的子类,不包括违规字段.见http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#form-inheritance
class SmallerForm( MyForm ):
class Meta(MyForm.Meta):
exclude = [ title ]
Run Code Online (Sandbox Code Playgroud)