如果对象计数大于1000,则在模板视图中显示1k

时间:2018-05-15 17:48:15

标签: python django

我是django的新手。我正在尝试做类似facebook的事情,如果图片上的评论数量等于1000,而不是显示1000个评论,我希望向用户显示1k评论。 我做了类似的事情

查看代码

def DisplayPic(request,slug):
    # this get the object of the image 
    AdvertObj=get_object_or_404(Images,slug=slug)
    #to get  comment objects belonging to the image .Company stands for image instance 
    comments=ProductComments.objects.all().filter(company=AdvertObj) 
    #get the total comment count belonging to the image 
    commentcount=comments.count()
    # now verify if comment count is greater than 1000 
    # if comment count greater than 1000 or equal to 1000 , 1K+ comments display instead of showing 1000+ comments 1kcomments displayed
    if commentcount>=1000:
        r=commentcount/1000 #(to reduce values to be displayed to users in 1k+)
        return r
     context{'count':commentcount}
     template_name='templat.html'
     return render(request,template_name,context)

当commentcount大于或等于1000个计数时,我收到错误 **错误'float'对象没有属性'get'**

我知道我的做法完全错了。请帮我 。我的最终结果是显示如果commentcount为1000,而不是向用户显示1000个评论,则显示1kcomments。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

如果commentcount>=1000 - >您的函数似乎返回整数值我相信你想把它分配给commentcount;不返回int值。

将您的if条件更改为:

if commentcount>=1000:
    commentcount /= 1000 #(to reduce values to be displayed to users in 1k+)

 context{'count':commentcount}
 template_name='templat.html'
 return render(request,template_name,context)

这样;你总是返回render函数的输出;这将永远是一个HttpResponse。