Django应用程序中的/ admin /中的UnicodeEncodeError
发布时间:2020-12-20 12:21:42 所属栏目:Python 来源:网络整理
导读:当我尝试查看现有对象列表时,我在管理页面上收到以下错误. UnicodeEncodeError at /admin/character/charlevel/'ascii' codec can't encode character u'xd6' in position 0: ordinal not in range(128)Request Method: GETRequest URL: http://127.0.0.1:8
当我尝试查看现有对象列表时,我在管理页面上收到以下错误.
UnicodeEncodeError at /admin/character/charlevel/ 'ascii' codec can't encode character u'xd6' in position 0: ordinal not in range(128) Request Method: GET Request URL: http://127.0.0.1:8000/admin/character/charlevel/ Django Version: 1.4.1 Exception Type: UnicodeEncodeError Exception Value: 'ascii' codec can't encode character u'xd6' in position 0: ordinal not in range(128) Exception Location: /home/***/workspace/***/***/character/models.py in __unicode__,line 413 Python Executable: /usr/bin/python Python Version: 2.7.3 当我打开这个类的对象列表时会发生这种情况: class CharLevel(models.Model): char = models.ForeignKey(Character) prof = models.ForeignKey(Profession) level = models.SmallIntegerField() def __unicode__(self): return ('{c}/{l}/{p}'.format(c=self.char.name,l=self.level,p=self.prof )).encode('utf-8') 如果我删除字符串格式的{c}组件,问题就会消失 但是,对于具有以下__unicode__的类Charater,不会发生此问题: class Character(models.Model): name = models.CharField(max_length=32) def __unicode__(self): return self.name 我做错了什么? 解决方法
__unicode__应该返回unicode:
def __unicode__(self): return u'{c}/{l}/{p}'.format(c=self.char.name,p=self.prof) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |