Django书第7章

时间:2012-08-14 11:43:33

标签: python django

您好我正在阅读Django的书,直到第7章。我结束了,并且想知道是否有人可以为我解释这段代码。

<div class="field{% if form.message.errors %} errors{% endif %}">
{% if form.message.errors %}
    <ul>
    {% for error in form.message.errors %}
        <li><strong>{{ error }}</strong></li>
    {% endfor %}
    </ul>
{% endif %}
<label for="id_message">Message:</label>
{{ form.message }}
<div>

我不明白为什么你需要第一部分:

<div class="field{% if form.message.errors %} errors{% endif %}">

刚刚:

<div class="field">

似乎做同样的事情。

感谢。

3 个答案:

答案 0 :(得分:6)

如果表单中出现错误,则属性form.message.errors将不为空。因此,如果它不为空,则值'errors'将输出到您的html,从而导致:

<div class="field errors">

然后它可以与CSS文件一起使用,以显示带有特殊格式的错误消息。

答案 1 :(得分:2)

{% if form.message.errors %} errors{% endif %}

如果通过您的查看方法向模板传递任何错误,则会打印单词errors

<div class="field{% if form.message.errors %} errors{% endif %}">

此处正在将类"errors"添加到div类中,因此如果表单有错误,则会生成此类:

<div class="field errors">

这不是必需的,但可能有助于样式化和识别html元素。

答案 2 :(得分:1)

如果该字段有错误,则代码会将errors css类添加到div。这对突出该领域很有用。