asp*_*asp 4 python symbols currency django-forms
我需要设置Django forms.ChoiceField来显示货币符号.由于django表单转义了所有HTML ASCII字符,我无法得到$ (€)或者&磅; (£)显示货币符号.
<select id="id_currency" name="currency">
<option value="&#36;">$</option>
<option value="&pound;">£</option>
<option value="&euro;">€</option>
</select>
Run Code Online (Sandbox Code Playgroud)
您是否可以建议任何方法来显示实际的HTML货币字符,至少是该选项的值部分?
<select name="currency" id="id_currency">
<option value="&#36;">$</option>
<option value="&pound;">£</option>
<option value="&euro;">€</option>
</select>
Run Code Online (Sandbox Code Playgroud)
更新:
请注意我使用Django 0.96,因为我的应用程序在Google App Engine上运行.上面
的<SELECT>使用Django Forms呈现.
currencies = (('$', '$'),
('£', '£'),
('€', '€'))
currency = forms.ChoiceField(choices=currencies, required=False)
Run Code Online (Sandbox Code Playgroud)
谢谢,
阿伦.
您可以在模板中使用" safe "或在视图中使用" mark_safe ",在模板中关闭自动转换,或在表单中使用Unicode字符而不是HTML实体.
运用 mark_safe
from django.utils.safestring import mark_safe
currencies = ((mark_safe('$'), mark_safe('$')),
(mark_safe('£'), mark_safe('£')),
(mark_safe('€'), mark_safe('€')))
Run Code Online (Sandbox Code Playgroud)
运用 autoescape off
作为模板的替代方案,您可以关闭代码块的转义.标签之间的一切{% autoescape off %},并{% endautoescape %}
不会逃脱.
使用Unicode字符
没有其他工作可以尝试以下方法.在包含您的货币元组的文件中,将以下行作为第一行或第二行:
# coding=utf-8
Run Code Online (Sandbox Code Playgroud)
然后在你的货币元组中放置实际的unicode字符:
currencies = (('$', '$'),
('£', '£'),
('€', '€'))
Run Code Online (Sandbox Code Playgroud)