Django: HTML标签显示为文本
在我的Django应用中,<acronym>...</acronym>
标签显示成了<acronym title='Особо охраняемая прирродная территория'>ООПТ</acronym>
。
这个模板看起来是这样的(acronym标签出现在cur_goal.description
中)。
{% extends "base.tpl.html" %}
{% block title %}{{ genplan.name }}{% endblock %}
{% block content %}
<h2>{{ category_name }}</h2>
{% for cur_goal in goals %}
<li>{{ cur_goal.description }}</li>
{% endfor %}
{% endblock %}
{% block right_sidebar %}
{% endblock %}
我该怎么改代码,才能让acronym标签正确显示(也就是说,尖括号不要被替换成<
和>
)呢?
1 个回答
2
正如DM所说,autoscape标签,或者说...安全过滤器
<li>{{ cur_goal.description|safe }}</li>
或者可以从Python这边使用mark_safe
。
https://docs.djangoproject.com/en/dev/ref/utils/#django.utils.safestring.mark_safe