Django:表单字段标签中的UTF-8导致UnicodeDecodeError

时间:2013-12-15 08:08:09

标签: django utf-8 hebrew

考虑以下Django表单:

# -*- coding: UTF-8 -*-

...

class VideoForm(forms.Form):
    link = forms.URLField(label="LINK")
    title = forms.CharField(max_length=50)

这很好用,给出一个带有标签为LINK的字段的表单。但是,当我将链接线更改为:

link = forms.URLField(label="קישור")

我收到以下错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa8 in position 0: ordinal not in range(128)
...
In template /Users/adamatan/Personal/hashmabir_design/flip_classroom_hackathon/web/flipped/core/templates/
...
core/add_video.html, error at line 23
...
{% trans field.label_tag %} {{ field }}

如何在utf-8中编码模板?

2 个答案:

答案 0 :(得分:3)

或者,您可以使用:

from __future__ import unicode_literals

>>> 'a'
'a'
>>> from __future__ import unicode_literals
>>> 'a'
u'a'

请参阅__future__ — Future statement definitions

答案 1 :(得分:1)

forms.py中的字符串设置为unicode解决了问题:

link = forms.URLField(label=u"קישור")