django 模板关闭特殊字符转化
Posted 林肯公园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 模板关闭特殊字符转化相关的知识,希望对你有一定的参考价值。
默认情况下,在django admin管理界面和页面中,如果输出的对象中包含html特殊字符,在django中默认的处理方式是将对象中的HTML特殊字符转化,例如会将 "<" 转化为 "<
" 等等。
HTML解决问题的办法:
如果在渲染模板时,想要输出HTML特殊字符,在模板页使用 {% autoescape off %}{{不需要特殊字符转换的字符串}}{% endautoescape %} 来关闭:
示例:
{% autoescape off %}
{{ unescape_value }}
{% endautoescape %}
在django admin管理界面列表中,输出HTML特殊字符示例:
models.py: ################## from django.db import models class Person(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) color_code = models.CharField(max_length=6) def colored_name(self): return ‘<span style="color: #%s;">%s %s</span>‘ % (self.color_code, self.first_name, self.last_name) colored_name.allow_tags = True admin.py: ################## from django.contrib import admin from . import models class PersonAdmin(admin.ModelAdmin): list_display = (‘first_name‘, ‘last_name‘, ‘colored_name‘) admin.site.register(models.Person, PersonAdmin)
以上是关于django 模板关闭特殊字符转化的主要内容,如果未能解决你的问题,请参考以下文章