python - Django模板-p标签无故关闭

标签 python html django

我试图详细说明 django form.as_p() 以便我可以自定义一些字段,但在大多数情况下我只需要简单的 as_p 渲染。因此,在遍历字段时,我将大部分内容变成了这样:

<p>
    {{ field.errors }}
    {{ field.label_tag }}
    {{ field }}
</p>

但有时,我的 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 不允许像 ul 这样的 block 元素位于 p 元素中。因此,当您的字段出现错误并使用 ul 呈现时,您的浏览器会帮助关闭 p 以使其有效。 (您看到的是浏览器的 DOM 表示,而不是实际渲染的 HTML,它不包含 magic close 元素:执行“查看源代码”即可看到这一点。)

您应该将错误标记移出p。如果您愿意,您可以将整个内容包装在 div 之类的内容中。

关于python - Django模板-p标签无故关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246304/

相关文章:

python - 对简单 Django View 的 POST 请求(使用 gunicorn 在 Heroku 上托管)导致 H18 服务器请求中断错误

python - celery 任务中缺少 Django 相关对象(竞争条件?)

Python Django 名称错误 : name 'model' is not defined

python - 无法从外部连接到运行 CherryPy 服务器的 docker 容器

python - 具有多个条件的 bool 索引

javascript - ngRepeat :dupes - Duplicates in a repeater are not allowed

javascript - 使用 Javascript 或 CSS 在跨度内换行

python - 无法使用 REST Framework JWT 进行身份验证

python - 如何将 Python 中的日期格式更改为西类牙语格式

javascript - jquery remove 函数是否也删除了 knockout 绑定(bind)?