在链接Django附近添加评论数

时间:2013-12-01 12:54:10

标签: django post count comments blogs

我有一个有效的博客。 每个帖子都有一个“评论”链接,可以对该特定帖子发表评论。 我想添加评论计数,所以它看起来像:“评论(5)”等。

我在模板中添加了% get_comment_count for post.pk as comment_count %}值,所以它看起来像这样:

    {% for post in posts.object_list %}
<div class="post">
    <div class="title">{{ post.title }}</div>
    <ul>
        <div class="time">{{ post.created }}</div>
        <div class="body tresc">{{ post.body }}</div>
        {% get_comment_count for post.pk as comment_count %}
        <div class="commentlink"><a href="post/{{ post.pk }}/">{{ comment_count }} Comments</a></div>

    </ul>
 </div>
{% endfor %}

但是我收到了错误:

Invalid block tag: 'get_comment_count', expected 'empty' or 'endfor'

包含{% get_comment_count for post.pk as comment_count %}的行。 我做错了什么?

我的models.py看起来像这样:

from django.db import models
from django.contrib import admin

class Post(models.Model):
    title = models.CharField(max_length=60)
    body = models.TextField()
    created = models.DateTimeField(auto_now_add=True)

    def __unicode__(self):
        return self.title

class PostAdmin(admin.ModelAdmin):
    search_fields = ["title"]

class Comment(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    author = models.CharField(max_length=60)
    body = models.TextField()
    post = models.ForeignKey(Post)

    def __unicode__(self):
        return unicode("%s: %s" % (self.post, self.body[:60]))

class CommentAdmin(admin.ModelAdmin):
    display_fields = ["post", "author", "created"]

admin.site.register(Comment, CommentAdmin)
admin.site.register(Post, PostAdmin)

如何使用db_table更改Django正在读取注释的表? 我需要它从news_comment表中读取。

1 个答案:

答案 0 :(得分:0)

首先确保在模板顶部加载评论模板标记:

{% load comments %}

get_comment_count期望模型实例作为for关键字之后的参数。您正在传递一个整数主键值。所以你需要像这样更新它:

{% get_comment_count for post as comment_count %}