如何过滤django模板中的特殊字符
Posted
技术标签:
【中文标题】如何过滤django模板中的特殊字符【英文标题】:How to filter special characters in django template 【发布时间】:2015-11-11 09:24:02 【问题描述】:我正在尝试在 django 模板页面中显示 ValuesQuerySet 列表以下拉列表。我只是在下拉显示时过滤特殊字符。我尝试了自动转义语法,但它不起作用。有没有其他方法可以做到这一点。
在views.py中:
email_accounts = EmailAccount.objects.filter(user__user=self.request.user).values()
form.fields['account'].queryset = email_accounts.values_list('a_email')
这里的值应该像 ['a_email': u'xx@gmail.com', 'a_email': u'yy@gmail.com', 'a_email': u'zzz@gmail. com']。
在模板页面中
form.account
所以它在下拉列表中显示如下
(u'xx@gmail.com')
(u'yy@gmail.com')
(u'zz@gmail.com')
在下拉列表中显示时,我需要删除 (u') 那些特殊字符。怎么做?任何人建议我。
【问题讨论】:
“过滤器”到底是什么意思?你想做什么?您当前的输出是什么,您期望什么输出?你的模板现在是什么样子的? 在下拉列表中看起来像这样 (u'xxxxx@gmail.com')。我只是想删除(u'')那些特殊字符。就是看xxxxx@gmail.com 嗯,这是一个完全独立的问题,与“特殊字符”无关。当你应该有一个简单的列表时,你有一个元组列表。您需要展示如何生成该列表,以及如何在模板中输出它。 【参考方案1】:您根本不应该在这里使用 ValuesQueryset。毫无疑问,ModelChoiceField 的 queryset
参数需要一个标准查询集。
email_accounts = EmailAccount.objects.filter(user__user=self.request.user)
form.fields['account'].queryset = email_accounts
【讨论】:
以上是关于如何过滤django模板中的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章