在django中创建一个包含unicode的选择表单

时间:2014-07-18 19:16:12

标签: python django unicode django-forms

我有这个选择形式:

class rqtime(forms.ChoiceField):

    def __init__(self, *args, **kwargs):
        super(rqtime, self).__init__(*args, **kwargs)
        self.required = True
        self.initial = True    
        self.choices=(('1','my_unicode'),('2','soon'),('3','1day'),('4','1week'),('5','3week'))
        global mydic
        mydic=dict(self.choices)

    def clean(self, value):
        return mydic[value]

我使用了from __future__ import unicode_literals-*-coding:utf-8-*-,但在运行服务器之后,这是来自'my_unicode'的引发错误:

SyntaxError: Non-ASCII character '\xd9'

如何解码django形式的unicode!

1 个答案:

答案 0 :(得分:0)

您需要在unicode字符串前添加u前缀,将'my_unicode'更改为u'my_unicode'

self.choices=(('1',u'my_unicode'),('2','soon'),('3','1day'),('4','1week'),('5','3week'))

您可以阅读有关Unicode Type in Python Doc的更多信息。