【发布时间】:2013-12-01 12:54:09
【问题描述】:
我有一个工作博客。 每个帖子都有一个链接“评论”,该链接指向该特定帖子的 cmets。 我想添加评论计数,所以它看起来像:“评论(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 从中读取 cmets 的表?
我需要它从news_comment 表中读取。
【问题讨论】:
-
您尝试在 django 模板中使用列表推导,而列表推导在模板中不起作用。
-
这与列表推导无关,似乎标签不可导入(或与 for 循环冲突),您可以尝试在 for 循环之外调用
get_comment_count吗?还要确保您的模板顶部有{% load comments %}。 -
好的,但我得到:“'int'对象没有属性'_meta'”。我是在循环寻找错误的东西还是?
标签: django post count comments blogs