如何使用Jinja2模板解码烧瓶中的&#39

Hon*_*loň 6 python jinja2 flask flask-wtforms

当我尝试在Jinja2模板中从wtforms写入错误时,它将返回未解码的报价。我该如何解决?

{% if registrationForm.errors %}
    <script>swal("Error!", "{{ registrationForm.errors['password'] }}", "error")</script>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

误差等于

{'email': ['This field is required.'], 'username': ['This field is required.'], 'acceptTOS': ['This field is required.'], 'csrf_token': ['CSRF token missing'], 'password': ['This field is required.']}
Run Code Online (Sandbox Code Playgroud)

Nab*_*med 7

使用safe模板过滤器-它告诉jinja2不要应用任何其他过滤器。

将字符串标记为可以安全地包含在HTML / XML输出中,而无需进行转义。

用法示例:

{{ errors|safe }}
Run Code Online (Sandbox Code Playgroud)

或者,

{{ errors | tojson | safe }}
Run Code Online (Sandbox Code Playgroud)

或者也可以Markup在Flask中将其标记为安全。

  • 效果很好,但“tojson | safe”在参数列表后抛出“Uncaught SyntaxError: missing )” (2认同)