【发布时间】:2021-05-20 12:22:06
【问题描述】:
这是我的自定义标签:
@register.inclusion_tag('app/comments_list.html', takes_context=True)
def show_comments(context):
request = context['request']
comments_list = Comments.objects.all().order_by('-comment_time')
paginator = Paginator(comments_list, 3)
page = request.GET.get('page')
try:
comments = paginator.page(page)
except PageNotAnInteger:
comments = paginator.page(1)
except EmptyPage:
comments = paginator.page(
paginator.num_pages)
return {'comments': comments}
这是我要渲染的模板:
{% for comment in comments %}
{% if comment.commented_by.username == user.username %}
<h6><font color="green">You</font></h6>
{% else %}
{{comment.commented_by}}
<h7>{{ comment.comment_time }}</h7>
{% endif %}
<div class="comment">
{{comment}}
</div>
{% endfor %}
我的模特:
class Comments(models.Model):
commented_by = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
comment = models.TextField(max_length=300)
comment_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.comment
由于某种原因,它成功渲染了除了
if 条件。我不知道为什么。
任何帮助将不胜感激!谢谢!
【问题讨论】:
-
comments = paginator.page(page) request.GET中的 request.GET` 是做什么的? -
@WillemVanOnsem 只是一个错字,我猜是在我发布问题时。我已经编辑过了。
标签: django