如何解决如何在注册时注册这个离线钱包?
这是我的view.py
from models import Balance
def profile(request):
user = Balance.objects.get(user=request.user)
return render(request,'profile.html',{"balance":user.balance})
并在此处创建模型
class Balance(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
balance = models.IntegerField(default=0)
def __str__(self):
return self.user.username
@unauthenticated_user
def register(request):
form = createuser()
if request.method == 'POST':
form = createuser(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
instance = Balance(user=request.user,balance=0)
instance.save()
messages.success(request,"Congrats !!" + username + "Now you are member of the society")
return redirect('login')
context = {'form': form}
return render(request,"register.html",context)
我可以在显示个人资料时从数据库中获取用户的余额,但在注册时无法将其保存到数据库中。当错误返回时:
/register/ 处的值错误
无法分配“
解决方法
当您编写此行时,您的用户尚未登录:
instance = Balance(user=request.user,balance=0)
我认为您的表单 CreateUser
可以正常工作。保存表单时,它会返回创建的实例,因此您可以使用它代替 request.user
:
user = form.save()
instance = Balance(user=user,balance=0)
instance.save()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。