如何过滤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模板中的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

当键具有特殊字符时,如何进行 Django 模板字典查找? [复制]

使用带有特殊字符的 Django 的 url 模板标签

php怎样过滤掉特殊字符啊 ☺

过滤器和模板变量

JAVA特殊字符过滤方法

jsp\java如何编写过滤器过滤特殊字符