Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板-p标记已无故关闭_Python_Html_Django - Fatal编程技术网

Python Django模板-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>

我试图详细介绍django form.as\p(),以便可以自定义一些字段,但在大多数情况下,我只需要简单的as\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

之类的东西来包装整个网页,我以前从未遇到过这种情况。谢谢