如何过滤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
我正在尝试将 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