Jinja 2 - Django Form:渲染编码 HTML

发布于 2024-12-04 18:36:18 字数 1375 浏览 3 评论 0原文

我在 Django 项目中测试 Jinja2 并得到了一个奇怪的输出。 当我渲染表单时,一些字符是 HTML 编码的(< > 等)

在模板中:

{{ form.as_p() }}

它渲染到浏览器:

<p><label for="id_username">Utilisateur:</label> <input autocomplete="off" id="id_username" type="text" name="username" maxlength="100" /></p> <p><label for="id_password">Mot de passe:</label> <input autocomplete="off" type="password" name="password" id="id_password" /></p>

查看来源:

&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;id_username&amp;quot;&amp;gt;Utilisateur:&amp;lt;/label&amp;gt; &amp;lt;input autocomplete=&amp;quot;off&amp;quot; id=&amp;quot;id_username&amp;quot; type=&amp;quot;text&amp;quot; name=&amp;quot;username&amp;quot; maxlength=&amp;quot;100&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;id_password&amp;quot;&amp;gt;Mot de passe:&amp;lt;/label&amp;gt; &amp;lt;input autocomplete=&amp;quot;off&amp;quot; type=&amp;quot;password&amp;quot; name=&amp;quot;password&amp;quot; id=&amp;quot;id_password&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;

有人知道这个问题吗?

I was testing Jinja2 in a Django project and have a strange output.
When I render the form, some characters are HTML encoded (< > etc.)

In the template :

{{ form.as_p() }}

It renders to the browser :

<p><label for="id_username">Utilisateur:</label> <input autocomplete="off" id="id_username" type="text" name="username" maxlength="100" /></p> <p><label for="id_password">Mot de passe:</label> <input autocomplete="off" type="password" name="password" id="id_password" /></p>

Looking at sources :

&lt;p&gt;&lt;label for=&quot;id_username&quot;&gt;Utilisateur:&lt;/label&gt; &lt;input autocomplete=&quot;off&quot; id=&quot;id_username&quot; type=&quot;text&quot; name=&quot;username&quot; maxlength=&quot;100&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for=&quot;id_password&quot;&gt;Mot de passe:&lt;/label&gt; &lt;input autocomplete=&quot;off&quot; type=&quot;password&quot; name=&quot;password&quot; id=&quot;id_password&quot; /&gt;&lt;/p&gt;

Does anyone know this problem ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

与风相奔跑 2024-12-11 18:36:18

Jinja2 尝试通过HTML 转义数据来保证安全。所以你必须使用 |safe 过滤器

虽然我没有将 Django 与 Jinja2 一起使用,但我相信这应该可行:

{{ form.as_p()|safe }}

Jinja2 tries to be safe by HTML-escaping the data. So you have to use |safe filter.

Though I haven't used Django with Jinja2, I believe this should work:

{{ form.as_p()|safe }}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文