Python Django模板-p标记已无故关闭
我试图详细介绍django form.as\p(),以便可以自定义一些字段,但在大多数情况下,我只需要简单的as\p呈现。因此,在遍历字段时,我将大部分内容转换为:Python Django模板-p标记已无故关闭,python,html,django,Python,Html,Django,我试图详细介绍django form.as\p(),以便可以自定义一些字段,但在大多数情况下,我只需要简单的as\p呈现。因此,在遍历字段时,我将大部分内容转换为: <p> {{ field.errors }} {{ field.label_tag }} {{ field }} </p> {{field.errors}} {{field.label_tag} {{field}} 但有时,我的html最终看起来是这样的: <p>
<p>
{{ field.errors }}
{{ field.label_tag }}
{{ field }}
</p>
{{field.errors}}
{{field.label_tag}
{{field}}
但有时,我的html最终看起来是这样的:
<p>
</p>
<ul class="errorlist">
<li>This field is required.</li>
</ul>
<label for="id_name">Name</label>
<input id="id_name" maxlength="200" name="name" type="text" autocomplete="off">
<p></p>
- 此字段为必填字段
名称
用那些无关的p和我想要的p中的东西,而不是p中的
这可能是什么原因造成的?我已经检查了三次,我知道我没有丢失任何结束标记。看起来你没有在html中初始化表单。 请参见以下示例:
<form method="post" action="." enctype="multipart/form-data">
{% csrf_token %}
{% for field in my_form %}
<p>{{ field.label_tag }} {{ field }}</p>
{% endfor %}
<input type="submit" value="Submit Form" />
</form>
{%csrf_令牌%}
{my_form%}中的字段为%
{{field.label_tag}{{{field}}
{%endfor%}
HTML不允许在p
元素内部使用类似ul
的块元素。因此,当您的字段出现错误时(用ul
呈现),您的浏览器会帮助关闭p
,使其有效。(您看到的是浏览器的DOM表示,而不是实际呈现的HTML,它不包含神奇的关闭元素:请执行“查看源代码”以查看此内容。)
您应该将错误标签移出
p
。如果你愿意的话,你可以用div
之类的东西来包装整个网页,我以前从未遇到过这种情况。谢谢