繁体   English   中英

django 博客中的评论部分不会显示在每个单独的帖子下?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM