python – 没有HTML转义的Django Form值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 没有HTML转义的Django Form值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1462字,纯文字阅读大概需要3分钟。
内容图文
![python – 没有HTML转义的Django Form值](/upload/InfoBanner/zyjiaocheng/747/6ef1b0cdb4c240c39e13930f9b530007.jpg)
我需要设置Django forms.ChoiceField来显示货币符号.由于django表单转义了所有HTML ASCII字符,我无法得到$ (€)或& pound; (£)显示货币符号.
<select id="id_currency" name="currency">
<option value="&#36;">$</option>
<option value="&pound;">£</option>
<option value="&euro;">€</option>
</select>
您是否可以建议任何方法来显示实际的HTML货币字符,至少是该选项的值部分?
<select name="currency" id="id_currency">
<option value="&#36;">$</option>
<option value="&pound;">£</option>
<option value="&euro;">€</option>
</select>
更新:
请注意我使用Django 0.96,因为我的应用程序在Google App Engine上运行.
并且< SELECT>上面是使用Django Forms呈现的.
currencies = (('$', '$'),
('£', '£'),
('€', '€'))
currency = forms.ChoiceField(choices=currencies, required=False)
谢谢,
阿伦.
解决方法:
您可以在模板中使用“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('€')))
使用autoescape关闭
作为模板的替代方案,您可以使用turn off escaping for a block of code.
标签{%autoescape off%}和{%endautoescape%}之间的所有内容
不会被逃脱.
使用Unicode字符
没有其他工作可以尝试以下方法.在包含您的货币元组的文件中,将以下行作为第一行或第二行:
# coding=utf-8
然后在你的货币元组中放置实际的unicode字符:
currencies = (('$', '$'),
('£', '£'),
('€', '€'))
内容总结
以上是互联网集市为您收集整理的python – 没有HTML转义的Django Form值全部内容,希望文章能够帮你解决python – 没有HTML转义的Django Form值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。