Django 获取循环中的值之和

Django 获取循环中的值之和,django,django-templates,django-views,Django,Django Templates,Django Views,我在模板中有一个循环: {% for article in user.article_set.all %} {{ article.article_date }} {{ article.article_title }} {{ article.article_cost }} {% endfor %} 如何显示该周期内所有{{article.article_cost}}的总和(不计算)?或者我需要写一些我认为应该写的东西 我试过了,但我不知道如何在我的模板中使用它,所以我不知

我在模板中有一个循环:

{% for article in user.article_set.all %}
    {{ article.article_date }}
    {{ article.article_title }}
    {{ article.article_cost }}
{% endfor %}
如何显示该周期内所有
{{article.article_cost}}
的总和(不计算)?或者我需要写一些我认为应该写的东西

我试过了,但我不知道如何在我的模板中使用它,所以我不知道,这是否有效:

u = User.objects.get(username=username)
total_price = u.article_set.all().annotate(total=Sum('article_cost'))
全景图:

def userprofile(request, username):
    u = User.objects.get(username=username)
    total_price = u.article_set.all().annotate(total=Sum('article_cost'))
    if request.POST:
        user_form = UserForm(request.POST, instance=request.user)
        user_profile = UserProfileForm(request.POST, request.FILES, instance=request.user.profile)
        if user_form.is_valid():
            user_form.save()
        if user_profile.is_valid():
            user_profile.save()
    else:
        user_form = UserForm(instance=request.user,
            initial={
                'first_name': request.user.first_name,
                'last_name': request.user.last_name,
                'email': request.user.email,
            })
        user = request.user
        profile = user.profile
        user_profile = UserProfileForm(instance=profile)

    return render_to_response('profile.html', {'user_form': user_form, 'user_profile': user_profile}, context_instance=RequestContext(request))

我绝对建议您在视图中计算总和,然后将其作为上下文传递给模板。看一看,它将使您更好地理解模板和模板上下文。

可能重复,但您能告诉我,我做错了什么吗?我想用
total\u price=User.objects.all().article\u set.all().annotate(total=sum('article\u cost'))提取
article\u cost
sum
但得到的
“QuerySet”对象没有属性“article\u set”
。。。但是在模板
user.article\u set.中,所有的
都工作得很好…
article\u set
是相关的管理器,因此它只能在模型实例上调用,在这种情况下是
user
模型的实例
User.objects.all()。