在Django选择输入中显示磅/货币符号

时间:2010-06-16 14:19:57

标签: django forms

我在表单选择框中有多个货币值(即£2,500)。当表单呈现时虽然它保持£不变,有没有办法将其转换为实际的英镑符号?

1 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,则问题是£会自动由表单库转义,因此会显示为£给用户而不是£。

你可以通过告诉django HTML代码是安全的并且不应该被转义(可能是XSS安全漏洞)来解决问题:

from django.utils.safestring import mark_safe
choices = (mark_safe('£ 2,500'), ...)

或者你也可以通过直接输入字符来避免使用转义序列(那些实体不是当前HTML规范的一部分,你应该简单地使用unicode):

# -*- coding: utf-8 -*-
choices = (u'£ 2,500', ...)

编码的注释必须是当前文件的第一行,告诉解释器您在源文件中使用了unicode编码。