2

嗨,我正在阅读 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">

似乎做同样的事情。

谢谢。

4

3 回答 3

6

当您的表单出现错误时,该属性form.message.errors将不为空。因此,如果它不为空,则该值'errors'将输出到您的 html 中,结果是:

<div class="field errors">

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

于 2012-08-14T11:46:20.267 回答
2
{% if form.message.errors %} errors{% endif %}

errors如果有任何错误通过您的视图方法传递给模板,这将打印该单词。

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

在这里,该类"errors"被添加到 div 类中,因此如果您的表单有错误,它将生成:

<div class="field errors">

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

于 2012-08-14T12:04:15.147 回答
1

如果该字段有错误,则代码会将errorscss 类添加到div. 这对于突出显示该字段很有用。

于 2012-08-14T11:46:04.093 回答