Python Django表单模板转义 {%if form.subject.errors%} {form.subject.errors%中的错误为%s} {{error | escape}} {%endfor%} {%endif%}

Python Django表单模板转义 {%if form.subject.errors%} {form.subject.errors%中的错误为%s} {{error | escape}} {%endfor%} {%endif%},python,django,Python,Django,我从一个模板中获取了上面的代码,在“form”键下传入了一个表单 然而,我以前从未遇到过|逃跑? 是按位运算符还是按位运算符?否,这是按位运算符。根据文件规定: 转义字符串的HTML。具体而言,它进行了以下替换: 转换为 ”(单引号)转换为' “(双引号)转换为” &转换为& 对通常具有自动转义的变量应用转义 应用于结果只会导致一轮逃逸 完成。因此,即使在自动转义中也可以安全地使用此功能 环境。如果要应用多个转义过程,请使用 强制退出过滤器 这很可能是在一个数据库中,因为默认情况下

我从一个模板中获取了上面的代码,在“form”键下传入了一个表单 然而,我以前从未遇到过|逃跑? 是按位运算符还是按位运算符?

否,这是按位运算符。根据文件规定:

转义字符串的HTML。具体而言,它进行了以下替换:

  • 转换为
  • (单引号)转换为
    '
  • (双引号)转换为
  • &
    转换为
    &
  • 对通常具有自动转义的变量应用转义 应用于结果只会导致一轮逃逸 完成。因此,即使在自动转义中也可以安全地使用此功能 环境。如果要应用多个转义过程,请使用
    强制退出
    过滤器

    这很可能是在一个数据库中,因为默认情况下Django已经转义了这些项。因此,它将确保如果变量是包含可解释为html的字符的字符串,则这些字符将被转义以防止出现这种情况

    {% if form.subject.errors %}
        <ol>
        {% for error in form.subject.errors %}
            <li><strong>{{ error|escape }}</strong></li>
        {% endfor %}
        </ol>
    {% endif %}