如何过滤django模板中的特殊字符

How to filter special characters in django template

我正在尝试将 ValuesQuerySet 列表显示为 Django 模板页面中的下拉列表。我只是在下拉列表中显示时过滤特殊字符。我尝试了自动转义语法,但它不起作用。还有其他方法吗?

在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') 那些特殊字符。怎么做?有没有人推荐我。

您根本不应该在这里使用 ValuesQueryset。毫不奇怪,ModelChoiceField 的 queryset 参数需要一个标准查询集。

email_accounts = EmailAccount.objects.filter(user__user=self.request.user)
form.fields['account'].queryset = email_accounts