4

我正在努力解决的问题如下:

我有:

{% for field in form %}
    {{ field }}
{% end for %}

我想要的是放置一个“if”语句来排除 .label 或提供的任何内容的字段。像:

{% for field in form%}
    {% if field == title %}
    {% else %}
        {{ field }}
    {% endif %}
{% endfor %}

是否可以?我有很多字段要一个一个地写出来,只有一两个要排除。

谢谢你的任何提示。

BR,Czlowiekwidmo。

4

2 回答 2

10

是的,这应该是可能的:

{% for field in form %}
    {% ifnotequal field.label title %}
        {{ field }}
    {% endifnotequal %}
{% endfor %}

Django 的模板标签提供ifequalifnotequal变体,您可以针对上下文变量或字符串测试 field.label。

于 2009-04-02T15:14:10.487 回答
7

您可能会更乐意创建表单的子类,不包括违规字段。请参阅http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#form-inheritance

class SmallerForm( MyForm ):
    class Meta(MyForm.Meta):
        exclude = [ title ]
于 2009-04-02T15:52:51.043 回答