【发布时间】:2021-04-20 23:06:11
【问题描述】:
刚接触 Django/Python,我想从构建一个简单的博客应用开始。我希望用户能够发布包含书名和该书链接的参考书目。
我的 models.py 中当前的 References 类如下所示:
class References(models.Model):
link = models.URLField(max_length=150, default=False)
title = models.CharField(max_length=100, default=False)
def __str__(self):
return self.title
而我的Post 类看起来像这样:
class Post(models.Model):
title = models.CharField(max_length=31)
content = models.TextField()
thumbnail = models.ImageField()
displayed_author = models.CharField(max_length=25, default=True)
shortquote = models.TextField()
reference_title = models.ManyToManyField(References)
publish_date = models.DateTimeField(auto_now_add=True)
last_updated = models.DateTimeField(auto_now=True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
slug = models.SlugField()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("detail", kwargs={
'slug': self.slug
})
def get_love_url(self):
return reverse("love", kwargs={
'slug': self.slug
})
@property
def comments(self):
return self.comment_set.all()
@property
def get_comment_count(self):
return self.comment_set.all().count()
@property
def get_view_count(self):
return self.postview_set.all().count()
@property
def get_love_count(self):
return self.love_set.all().count()
我知道我只在我的 References 类中返回 title,我尝试返回 self.title + self.link,但这在模板中被调用时给了我标题和链接。
我调用引用类的模板如下所示:
{% for title in post.reference_title.all %}
<a href="{{ link }}">
<li>{{ title }}</li>
</a>
{% endfor %}
我尝试了不同的组合,以使链接和标题独立呈现,如模板中所示,但问题在于知道如何通过ManyToManyField 显示类中的不同项目。对此的任何帮助都会很棒,因为我相信这只是我还没有学到的东西。提前致谢!
【问题讨论】:
标签: python html django django-templates