Django:允许用户在表单字段中提交有效的HTML

Emi*_*ile 7 django django-forms

使用Django,用户是否可以在表单字段中提交HTML,保存,然后在模板中呈现HTML?

一个示例是用户在文本字段中添加链接,然后应该在文本的其余部分中将其呈现为标记.

用户输入如下内容:

this is a site called <a href="http://stackoverflow.com">SO</a>.
Run Code Online (Sandbox Code Playgroud)

SO链接将是一个链接,而不是将其呈现为文本.

Yuj*_*ita 14

Django默认逃脱.您可以safe通过过滤器或标记将字符串标记为阻止自动转义行为.

{{ my_text_with_html|safe }}

{% autoescape off %}
    {{ my_test_with_html }}
{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)

如果您接受用户输入的html,您将需要对其进行清理,以便他们无法编写脚本等.为此,只需搜索python html清理并在将数据发送到模板之前应用它.

Python HTML清洁剂/洗涤器/过滤器