如何在django模板中获取某个字段?

时间:2013-05-13 11:43:33

标签: python django

我想知道如何在Django的模板中为某个字段添加一些额外的html

我有以下表格(forms.py)

first_name = forms.CharField(widget=forms.TextInput(attrs={'required': 'required'}))
last_name = forms.CharField(widget=forms.TextInput(attrs={'required': 'required'}))
street = forms.CharField(widget=forms.TextInput(attrs={'required': 'required'}))

在我的模板中,我得到的字段为:

<form action="" method="post">{% csrf_token %}
     {% for field in form %}
             <div class="fieldWrapper">
             {{ field.errors }}
             {{ field.label_tag }} {{ field }}
         </div>
     {% endfor %}
 <input type="submit" value="Submit" />
 </form>

现在我想在街道字段中添加一些额外的HTML,如下所示

<form action="" method="post">{% csrf_token %}
     {% for field in form %}
             {% if field.type =='street' %}
                <div class="fieldWrapper otherclass">
                <hr>

             {% else %}
             <div class="fieldWrapper">
            {% endif %}

             {{ field.errors }}
             {{ field.label_tag }} {{ field }}
         </div>
     {% endfor %}
 <input type="submit" value="Submit" />
 </form>

整件事都失败了:

  

无法解析剩余部分:&#39; ==&#39; street&#39;&#39;来自&#39; ==&#39; street&#39;&#39;

1 个答案:

答案 0 :(得分:1)

模板运算符在替换

之前和之后需要一个空格
{% if field.type =='street' %}

{% if field.type == 'street' %}

或使用ifequal templatetag

{% ifequal field.type 'street' %}
    Hello world.
{% else %}
    Apocalypse
{% endifequal %}