Je suis assez nouveau à Django.erreur manage.py syncdb alors que le modèle Django utilisant non-ascii verbose_name
Je veux le nom de mes modèles à afficher en chinois, donc j'utilisé verbose_name dans ma classe méta de mon modèle, les codes ci-dessous:
#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
Cependant quand je lance manage.py syncdb, ce qui suit erreurs lancers:
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
Il semble que manage.py ne peut pas traiter le caractère non-ascii dans mon verbose_name. Quelque chose que j'ai mal fait?
Merci.
Cela fonctionne bien après avoir ajouté "# encoding: utf-8", merci beaucoup. –
+1 encodage devrait être tout ce qu'il ya aussi. –
L'encodage en Unicode n'existe pas. Unicode n'est * pas * un encodage. –