查看: 303|回复: 1

[Django] template rander dict val 为html的解决方法

[复制链接]

415

主题

603

帖子

4607

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4607
发表于 2016-7-27 10:39:12 | 显示全部楼层 |阅读模式
解决方法如下帖所示:
【转】django的转义总结:escape,autoescape,safe,mark_safe



总结一下自己的境遇,因为写到平台的邮件交付功能的时候采用了如下方法:
  1. htmls = get_template('mail.txt')
  2. html = htmls.render(html)
复制代码
其中"mail.txt"是邮件的模板,html是传入的参数,但是此参数中可能会传入一部分的html,问题就在这里,如果直接使用render的话会把特殊字符转义成原始的表示方法,示例如下:
"<div>" -------> <br>

所以发出来的邮件就是这个样子的:
2016-07-27_103615.png
查看邮件源码如下:
2016-07-27_103644.png
头大,找了两天的方法,也没有解决,刚好手头有别的事放了一下,今天再看找到了上面的那篇文章,然后就顺利解决了,在mail.txt中加入如下标签:
{% autoescape off %}
html 内容
#{% autoescape %}{% endautoescape %}

所以,正常的开通邮件应该是下面这样的: 2016-07-27_104023.png
选一人白头,择一城终老
回复

使用道具 举报

0

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2016-10-26 15:58:42 | 显示全部楼层
ggggggggggood
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_sctz! !jz_fhlb!
快速回复 返回顶部 返回列表