You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中如何获取已登录用户关联Wallet模型的指定数据?

已登录用户个人页面展示关联Wallet数据的解决方法

你的需求是让登录用户在个人页面看到自己Wallet里的usd数值,结合现有模型和views代码,调整方案如下:

修正Views.py代码

利用Django自带的request.user可直接获取当前登录用户对象,再通过Wallet模型的外键关联找到对应记录。为避免用户无Wallet记录导致报错,推荐用get_object_or_404做异常处理:

from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from .models import Wallet

@login_required(login_url='main')
def profile_user(request):
    # 通过当前登录用户匹配对应的Wallet
    wallet = get_object_or_404(Wallet, name=request.user)
    usd = wallet.usd
    return render(request, 'profile.html', {'usd': usd})

模板页面(profile.html)显示数据

在模板中直接调用传入的usd变量即可:

<p>账户余额:{{ usd }} USD</p>

优化建议(可选)

你的Wallet模型里外键字段命名为name容易混淆,建议改成user更符合语义:

class Wallet(models.Model):
    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
    usd = models.FloatField(null=True)

修改后,views里的查询语句对应调整为:

wallet = get_object_or_404(Wallet, user=request.user)

内容的提问来源于stack exchange,提问作者Fors1t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:55:17