如何在Django模板中显示变量为HTML?
假设我有一个函数
def func(request):
a="Hello, <br> this is my first app"
return render_to_response(
'home.html',
{'a':a, 'request':request},
context_instance=RequestContext(request)
)
当我在 home.html 中加载变量 a 时,像这样:
{{a}}
我会得到 "Hello, <br>
这是我的第一个应用",
那么在 Django 模板中,如何把 <br>
显示成新的一行呢...??
3 个回答
0
在模板文件中,使用 {{a|safe}},而不是 {{a}}。
1
一个更简单的方法是直接在模板里使用
{{a|safe}}
。
3
试试这个:
from django.utils.safestring import mark_safe
a = mark_safe("Hello, <br> this is my first app")
Django会自动把你变量里的HTML内容进行转义,也就是说它会把一些特殊字符变成安全的形式。所以你需要把这些内容标记为安全字符串。
记住,比如说,安全字符串加上不安全字符串,结果还是不安全字符串。你可以在这里了解更多信息。