【发布时间】:2011-03-04 12:04:52
【问题描述】:
我在表单选择框中有多个货币值(即£2,500)。当表单呈现时,虽然它保持£ 原样,有没有办法将其转换为实际的井号?
【问题讨论】:
我在表单选择框中有多个货币值(即£2,500)。当表单呈现时,虽然它保持£ 原样,有没有办法将其转换为实际的井号?
【问题讨论】:
如果我正确理解了您的问题,问题是£ 被表单库自动转义,因此向用户显示为£ 而不是£。
你或许可以通过告诉 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编码。
【讨论】: