gpt4 book ai didi

python - 这个 "return unicode(self.creator) + "- "+ self.title"在 Django 中做什么?

转载 作者:行者123 更新时间:2023-11-28 22:01:58 24 4
gpt4 key购买 nike

我正在关注关于使用 Django/Python 创建论坛的 lightbird 教程。下面是创建 Thread 模型的代码。

class Thread(models.Model):
title = models.CharField(max_length=100)
created = models.DateTimeField(auto_now_add=True)
creator = models.ForeignKey(User, blank=True, null=True)
modified = models.DateTimeField(auto_now=True)
forum = models.ForeignKey(Forum)

def __unicode__(self):
return unicode(self.creator) + " - " + self.title

还有一个 Post 模型:

class Post(models.Model):
title = models.CharField(max_length=60)
created = models.DateTimeField(auto_now_add=True)
creator = models.ForeignKey(User, blank=True, null=True)
thread = models.ForeignKey(Thread)
body = models.TextField(max_length=10000)

def __unicode__(self):
return u"%s - %s - %s" % (self.creator, self.thread, self.title)

def short(self):
return u"%s - %s\n%s" % (self.creator, self.title, self.created.strftime("%b %d, %I:%M %p"))
short.allow_tags = True

我很难理解 unicode 函数后的代码!在以非常简单的形式创建模型时,我一直在使用 unicode,例如:

class Post(models.Model):
title = models.CharField(max_length=100)

def __unicode__(self):
return self.title

我理解这一点,但不理解上述模型中的代码。有人可以向我解释一下吗?谢谢!

最佳答案

 unicode(self.creator) +\ #will call the __unicode__ method of the User class
' - ' +\ # will add a dash
self.title #will add the title which is a string

然后是第二个

  "%s"%some_var #will convert some_var to a string (call __str__ usually...may fall back on __unicode__ or something)

所以

return u"%s - %s\n%s" % (self.creator, self.title, self.created.strftime("%b %d, %I:%M %p"))

将为创建者调用用户类上的__str__(或者可能是__unicode__)函数

然后它添加了一个破折号和标题

\n是结束行

strftime将时间戳转换成英文“MonthAbbrv.Day, 24Hr:Minutes”

关于python - 这个 "return unicode(self.creator) + "- "+ self.title"在 Django 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311708/

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