Django表单的help_text中的Unicode /特殊字符?

时间:2011-12-02 12:46:14

标签: django-models character-encoding python-unicode

我正在尝试向模型字段的help_text添加一个特殊字符(特别是ndash)。我在Form输出中使用它,所以我尝试了HTML的直观看法:

help_text='2 – 30 characters'

然后我尝试了:

help_text='2 \2013 30 characters'

仍然没有运气。想法?

2 个答案:

答案 0 :(得分:1)

django默认转义所有html。尝试将您的字符串包裹在mark_safe

答案 1 :(得分:0)

你第二次尝试时差不多了。首先,您需要通过使用u前缀将字符串声明为Unicode。其次,你写错了代码点。它也需要一个序言;比如\u

help_text=u'2\u201330 characters'

现在它将起作用,并且具有不使用HTML字符实体污染字符串的额外好处。请记住,字段值可以在其他地方使用,而不仅仅在表单显示输出中使用。这个技巧在Python中使用Unicode字符是通用的。

进一步阅读:

  • Python中的Unicode literals,其中提到了其他代码点前言(\x\U
  • PEP263包含在源文件中使用实际原始Unicode字符的简单说明。