Python unicode在Django中的使用

Python unicode在Django中的使用,python,django,Python,Django,为什么models.py中需要unicode函数 i、 e 不是。如果您定义了\uuuuunicode\uuuuu()方法,Django将在需要字符串表示的上下文中(例如,在模型的管理页面中)呈现对象时调用该方法 报告说: 调用\uuuuUnicode\uuuu()方法 无论何时在计算机上调用unicode() 对象自从Django的数据库 后端将返回Unicode字符串 在模型的属性中 通常要编写一个\uuuuUnicode\uuuuUnicode() 模型的方法 我对Django有点陌生,但

为什么models.py中需要unicode函数

i、 e


不是。如果您定义了
\uuuuunicode\uuuuu()
方法,Django将在需要字符串表示的上下文中(例如,在模型的管理页面中)呈现对象时调用该方法

报告说:

调用
\uuuuUnicode\uuuu()
方法 无论何时在计算机上调用
unicode()
对象自从Django的数据库 后端将返回Unicode字符串 在模型的属性中 通常要编写一个
\uuuuUnicode\uuuuUnicode()
模型的方法


我对Django有点陌生,但我想我能帮你

首先,这不是必须的,但这确实是个好主意。该字段用于在Django admin中创建对象的表示(否则它们都具有相同的名称:-P)以及在您将对象打印到终端窗口以查看发生了什么(否则您将收到一条基本上无用的通用消息)

其次,从您编写的内容来看,您似乎是Python新手。我建议阅读一些关于类语法的Python教程。此外,分号在这种语言中是不必要的。创建unicode方法的正确语法为:

class Foo(models.Model):
    # Model fields go here

    def __unicode__(self):
        return u"%i" % self.sumid
\uuuuuunicode\uuuuuu
方法有双下划线,因为它是一个特殊的函数,即当对其调用内置函数
unicode(obj)
时,它返回该对象的unicode字符串表示形式(有点像java的
ToString


我希望这能有所帮助:-)

我想其他人已经给出了一些详细的解释,对你来说应该足够了。但是这里有一个直截了当的答案:
\uu unicode\uu()
相当于Java(和许多其他语言)中的
toString()

是的,谢谢,,,我熟悉python和语法,但我对django绝对是新手。。除了通常的django教程,还有其他有用的链接吗?是的,请引导我找到它。。。。。。。。我知道它是什么了。。。谢谢你的回复。…@Hulk:Django文档有什么问题?太棒了。这里有一些最好的。有什么问题吗?这是一个很好的文档,但唯一的问题是初学者没有从中获得太多。。。。。。比如说(pk=1)任何人都能从中理解什么……是的,谢谢,,,我对python和语法很熟悉,但我对django绝对是新手。。除了通常的django教程,还有其他有用的链接吗?是的,请引导我找到它。。。。。。。。我知道它是什么了。。。谢谢你的回复……我希望我能告诉你一些其他的信息来源,但到目前为止,当我在谷歌上搜索错误信息时,我得到的只是随机的博客。我发现文档通常都很好,你只需要遇到一个以正确方式构建的问题,就可以了解他们为什么做某些事情。
sumid
似乎没有定义。也许您想将其更改为
self.sumid
class Foo(models.Model):
    # Model fields go here

    def __unicode__(self):
        return u"%i" % self.sumid