使用非ascii verbose_name django模型时py syncdb错误
题
我是Django的新手。
我希望我的模型名称以中文显示,因此我在模型的元类中使用了Verbose_name,以下代码:
#this models.py file is encoded in unicode
class TS_zone(models.Model):
index = models.IntegerField()
zone_name = models.CharField(max_length=50);
zone_icon = models.ImageField(upload_to='zone_icon', null=True)
is_active = models.NullBooleanField(blank=True, null=True)
status = models.CharField(max_length=7,choices=SETTING_STATUS_CHOICES)
class Meta:
ordering = ('index',)
verbose_name = u'你好嗎?'
verbose_name_plural = u'你們都好嗎?'
def __unicode__(self):
return self.zone_name
但是,当我运行manage.py syncdb时,以下错误会引发:
File "E:\pythonroot\myproject\..\myproject\myapp\models.py", line 19
SyntaxError: Non-ASCII character '\xe4' in file
E:\pythonroot\myproject\..\myproject\myapp\models.py on line 19, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
看来manage.py无法在我的verbose_name中处理非ASCII字符。我做错了什么?
谢谢你。
解决方案
您必须指定编码。添加以下行作为您的第一行 models.py
文件。
# encoding: utf-8
更新
OP已经编辑了他的问题,说“models.py
在Unicode中编码。
更新2
您可以发布用于您的编码字符串吗 models.py
?
不隶属于 StackOverflow