您的位置:首页 > 编程语言 > Go语言

django 模板关闭特殊字符转化

2017-10-14 16:32 309 查看
默认情况下,在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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: