逃离Django模板中的特殊字符

时间:2010-11-06 14:48:38

标签: python django encoding utf-8 django-templates

我正在使用字母,数字和特殊字符('¿"&$%/\>]{}(=?)*@!<-_¡+[')生成密码,我需要在ASCII符号等模板中转义特殊字符,我生成一个像这样的值列表

['0iw0Vqds)*\xc2Ni1P', '<gFLbKi}55(dN[R', '5G<E\\3}+vz72vu{', 'q3ojs$S33rQW$vs', 'IhAV$@3H3uNx\xbfOI', 'uA>>u\\g\xa1vf0\xc2o4t', 'siNyC$JX46bDXZ\xc2', 'R<8\xa1Y{\\]{Wcd/G>', 'D()SuvqdokB\xc2tcR', 'z31LPP{[$n{6_p\xc2']

我是我的模板:

{% for var in password_list %}
    {{var|escape}} 
{% endfor %}

我在views.py中使用utf-8(# - - 编码:UTF-8 - - )。我尝试使用{{var|escape}}{{var|escape|safe}},但模板仅显示列表中的第三个元素(q3ojs $ S33rQW $ vs)

我该怎么办?

提前感谢!

1 个答案:

答案 0 :(得分:3)

如果您要使用¿¡,那么您将需要使用unicode而不是str s。

Unicode in Python, Completely Demystified