Django书第7章

Tom*_*Fin 2 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>
Run Code Online (Sandbox Code Playgroud)

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

<div class="field{% if form.message.errors %} errors{% endif %}">
Run Code Online (Sandbox Code Playgroud)

刚刚:

<div class="field">
Run Code Online (Sandbox Code Playgroud)

似乎做同样的事情.

谢谢.

Val*_*ior 6

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

<div class="field errors">
Run Code Online (Sandbox Code Playgroud)

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