为什么在 jinja2 Python 中使用“|安全”[重复]

2023-11-22

我正在关注 Flask 教程,他在 jinja2 模板中使用“ | safe ”。为什么我们需要这个管道符号和安全?

不使用 safe 它会打印所有 html 标签。

通过使用| safe,它显示正确的格式。为什么会这样呢?

下面是jinja2代码:

{% extends "layout.html" %}

{% block body %}
    <h1>{{article.title}}</h1>
    <small>Written by {{article.author}} on {{article.create_date}}</small>
    <hr>
    <div>
        {{article.body | safe}}
    </div>
{% endblock %}

With | safeJinja2 将打印变量中的符号,这意味着它不会将“危险”符号转换为 html 实体(Jinja2 默认情况下会转义“危险”符号)。如果您信任变量的内容,请使用此选项,因为在相反的情况下可能存在漏洞XSS.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么在 jinja2 Python 中使用“|安全”[重复] 的相关文章

随机推荐

  • 如何从另一个包中找到fxml?

    我创建了一个简单的JavaFX应用 它有两个包 主类是JFXTest2 java is in good包和 fxml 及其控制器位于JFXTest2包裹 现在的问题是我无法在主类中加载fxml 我尝试加载 fxml 像这样 Parent r
  • 与“operator==”不匹配 C++ 编译错误

    来自 C 新手的另一个问题 我收到以下代码块的编译器错误 与 operator 不匹配 void swap Team t1 Player p1 Team t2 Player p2 Player new t1 11 Player new t2
  • 如何在 SQL Server 中更新具有数百万行的大型表?

    I ve an UPDATE可以更新超过百万条记录的语句 我想批量更新它们 1000 或 10000 我尝试过 ROWCOUNT但我无法得到想要的结果 只是出于测试目的 我所做的是 我选择了包含 14 条记录的表并将行数设置为 5 此查询应
  • 如何在 ConstraintValidator 中自动装配服务

    我正在使用 Spring MVC 编写我的应用程序 我想验证用户注册时数据库中是否存在电子邮件 我已经编写了自己的注释约束 名为独特的电子邮件 我的用户实体用户 java Entity Table name users public cla
  • Spring RestTemplate 重定向 302

    我正在尝试使用 Spring Rest 模板执行登录请求 RestTemplate restTemplate new RestTemplate HttpHeaders headers new HttpHeaders headers setC
  • 如何在 jQuery 中截断字符串?

    我的标题很长 想截断它们 但要以一种不打断单词的方式 我的意思是剪切发生在单词之间 而不是剪切一个单词 我怎样才能使用 jquery 做到这一点 From jQuery 文本截断 阅读更多样式 尝试这个 var title This is
  • 如何使用 lapply() 将 NA 更改为 0?

    我有一个数据集列表 dfList lt list df1 df2 df3 每个数据集看起来都是这样的 apples oranges 1 2 NA 4 我想以编程方式更改每个数据帧的NAs to 0s 我该怎么做呢 到目前为止我的代码 lap
  • 如何在 SQL Server 中保存波斯日期时间?

    在过去的项目中 我尝试将时间格式保存为公历日期 并在应用程序的逻辑层将公历日期转换为波斯日期 但我厌倦了这样做 我需要在 SQL Server 中以波斯语格式保存和恢复日期时间 无需任何转换 sql server中的datetime2类型可
  • Html.DropDownList 选择的值无法使用 ViewBag 工作

    好吧 经过几个小时阅读这里的内容 尝试所有解决方案均未成功 还发现本文我以为这会救我的命 什么也没有 长话短说 这是我的视图 所有组合 Html DropDownList yearDropDown IEnumerable
  • 有没有办法备份 Visual Studio Team Services 项目?

    我提倡使用 Visual Studio Team Services 作为我们的源代码控制解决方案 并且实际上已经开始这样做了 然而 我的经理对云托管存储和服务有些担心 他想知道在团队服务因任何原因无法访问时我们的应急计划是什么 我已经指出
  • 如何删除圆内的一组网格点?

    我正在尝试创建一个网格网格 而没有一些落在具有指定坐标和半径的圆内的点 我无法减去落在圆圈内的网格点 这是我的代码 import math import numpy import matplotlib pyplot as plt N 50
  • 卷曲:(7)无法连接到本地主机端口8090:连接被拒绝

    需要帮忙 一直在尝试解决这个问题 但找不到答案 或者更确切地说 我还没有遇到任何答案 我有一个带有 NGINX 的 docker 容器 充当反向代理 适用于 Windows 的 Docker 版本 1 12 5 9503 upstream
  • Cygwin 命令未找到在 .bashrc 357\273\277 中发现错误字符

    我是 Cygwin 的新手 我刚刚安装了它并尝试设置一些简单的环境变量 但是 当我打开命令 shell 时 出现错误 357 273 277 command not found 我发现一篇文章讨论了问题是什么以及如何 发现 隐藏的坏性格 h
  • 如何在InnoSetup中只允许安装特定组件?

    所以问题是这样的 我在这里问了一个问题 如何只允许安装到特定文件夹 我怎样才能稍微修改它 例如 我有 3 个文件要安装 其中 2 个是可选的 并且只有在某个文件 文件夹存在时才可以安装 如果不满足条件 我想将在列表中选择它们的选项灰显 先感
  • 双卡双待安卓sdk

    sdk 默认 有什么方法可以处理双卡吗 市场上有许多双卡双待的 Android 手机 我想要的是以编程方式更改默认的SIM卡 是否可以 从 Android 5 1 开始多卡支持已正式添加到Android SDK中 您可以通过以下方式访问有关
  • 使用 JQuery 从 Div 中删除 CSS

    在我的应用程序中 我有以下内容 displayPanel div live click function this css background color pink font weight bolder 当我点击一个 Div 时 该 Di
  • 删除美国州边界,在 ggplot2/geom_polygon 中创建轮廓区域

    我正在绘制下表 显示美国的多重耐药性趋势 按地区划分的 MDR 使用以下代码 states map m lt ggplot ncftrendsort aes map id region geom map aes fill ncftrends
  • Rails、Devise 和 Omniauth - 设置问题

    我正在尝试 再次 使用 Rails 4 devise 和omniauth 设置身份验证 我尝试按照这篇文章中的示例进行操作 Rails 4 Devise Omniauth 有多个提供商 我安装了这些宝石 gem devise gem omn
  • 相等比较在 TensorFlow 2.0 tf.function() 中不起作用

    继讨论之后TensorFlow 2 0 AutoGraphs 我一直在玩弄并注意到不平等比较 例如 gt and lt 直接指定 而相等比较则使用tf equal 这里有一个例子来演示 该函数使用 gt 运算符和效果很好当被调用时 tf f
  • 为什么在 jinja2 Python 中使用“|安全”[重复]

    这个问题在这里已经有答案了 我正在关注 Flask 教程 他在 jinja2 模板中使用 safe 为什么我们需要这个管道符号和安全 不使用 safe 它会打印所有 html 标签 通过使用 safe 它显示正确的格式 为什么会这样呢 下面