大家经常定义一个Model,然后通过django自带的 admin来管理Model的数据,这个小功能非常方便,但是如果你的__str__方法是如下写的,
class SOUAPP_APP_ANDROIDMARKET_TEST(models.Model):
def __str__(self):
return "%s---/n---%s---/n---%s" % (self.title,self.author,self.description)
如果上面的self.title和self.author,self.description含有utf8(非中文)的数据,那么就会报下面的错误:
TemplateSyntaxError at /admin/appstore/souapp_app_androidmarket_test/6043753550325548033/
解决方法:将__str__更换成__unicode__即可。
class SOUAPP_APP_ANDROIDMARKET_TEST(models.Model):
def __unicode__(self):
return "%s---/n---%s---/n---%s" % (self.title,self.author,self.description)
-------------------------------------------上述是我在开发www.souapp.com时遇到的问题------------------------------------------
本文介绍了在Django中如何正确地定义Model的字符串表示方法,特别是当Model包含UTF-8编码数据时,应当使用__unicode__而非__str__方法以避免出现TemplateSyntaxError。




4779

被折叠的 条评论
为什么被折叠?



