首页 > 解决方案 > 如何在保存在数据库中的 html 页面中向用户显示余额?

问题描述

我已经为每个注册的用户分配了余额并将余额保存在数据库中,但我无法在html page. 也许我在python文件中也犯了一些错误。在views.py我已经评论了一些我也使用但仍然没有得到结果的代码值。怎么做?

模型.py

class Payment(models.Model):
amount = models.DecimalField(max_digits=12, decimal_places=2)
owner = models.ForeignKey(User, on_delete=models.CASCADE)

视图.py

from django.db.models import Sum
from decimal import Decimal
def payment(request):
    total_amount = Payment.objects.filter(
    owner=request.user)['total_amount'] or Decimal('0.00')
    for field in total_amount:
        field.amount

    context = {
        'total_amount': total_amount
    }
    return render(request, 'index.html', context)

网页

   <li style="float: right;">Your Balance: Rs. {{total_amount}}</li>    

蟒蛇壳

>>> from users.models import Payment
>>> Payment.objects.all()
<QuerySet [<Payment: Payment object (1)>, <Payment: Payment object (2)>]>

包含内容的数据库图像

https://ibb.co/481nzqv
https://ibb.co/B4M1NTk

在此处输入图像描述 在此处输入图像描述

标签: pythonhtmldjango

解决方案


尝试这个

  from django.db.models import Sum
  from django.contrib.auth.decorators import login_required


  @login_required
  def payment(request):
      totalamount = Payment.objects.filter(
          owner=request.user).aggregate(Sum('amount'))

      context = { 'total_amount': totalamount['amount__sum']}
      return render(request, 'index.html', context)

参考这个


推荐阅读