gpt4 book ai didi

django - Django 应用程序中/admin/处的 UnicodeEncodeError

转载 作者:行者123 更新时间:2023-12-01 07:41:15 25 4
gpt4 key购买 nike

当我尝试查看现有对象的列表时,我在管理页面收到以下错误。

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, l=self.level, p=self.prof)

关于django - Django 应用程序中/admin/处的 UnicodeEncodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15005132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com