[英]Comment section in django blog won't show up under each individual post?
评论成功保存在 django 管理员中,但不会显示在实际站点上。
这是评论模型:
class comment(models.Model):
linkedpost = models.ForeignKey(Post, related_name="postcomments", on_delete=models.CASCADE)
commentauthor = models.ForeignKey(User, on_delete=models.CASCADE)
body = models.TextField(max_length=100)
date_posted = models.DateTimeField(default=timezone.now)
这是博客主页的 html 代码。 post for 循环遍历所有 post 对象并将它们打印出来。 我创建了一个评论循环来遍历链接帖子和打印的所有评论。 问题出在我的 html 代码中吗?
{% for post in posts %}
<article class="media content-section">
<img class="rounded-circle article-img" src="{{ post.author.profile.image.url }}">
<div class="media-body">
<div class="article-metadata">
<a class="mr-2" href="{% url 'user-posts' post.author.username %}">{{ post.author }}</a>
<small class="text-muted">{{ post.date_posted|date:"F d, Y" }}</small>
</div>
<h2><a class="article-title" href="{% url 'post-detail' post.id %}">{{ post.title }}</a></h2>
<p class="article-content">{{ post.content }}</p>
<div>
<h2>Comments</h2>
{% for cmnts in linkedpost.postcomments %}
#<a class="mr-2" href="{% url 'user-posts' cmnts.author.username %}">{{ cmnts.commentauthor }}</a>
<small class="text-muted">{{ cmnts.date_posted|date:"F d, Y" }}</small>
<p class="article-content">{{ cmnts.body }}</p>
{% endfor %}
</div>
</div>
</article>
{% endfor %}
该Post
对象被命名post
在{% for post in posts %}
循环,所以你访问的评论:
{% for cmnts in post.postcomments.all %}
…
{% endfor %}
注意:Django 中的模型是用PerlCase编写的,而不是snake_case ,因此您可能希望将模型从
重命名为comment
Comment
。
注意:通常最好使用
settings.AUTH_USER_MODEL
[Django-doc]来引用用户模型,而不是直接使用User
模型 [Django-doc] 。 有关更多信息,您可以查看文档的引用User
模型部分。
注意:Django 的
DateTimeField
[Django-doc]有一个auto_now_add=…
参数 [Django-doc]来处理时间戳。 这将在创建对象时自动分配当前日期时间,并将其标记为不可编辑(editable=False
),这样默认情况下它不会出现在ModelForm
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.