如何在Django的forms.py中获取当前用户的ID?
问题描述:
我想在我的forms.py当前用户的ID,因为我想比较用户的钱包余额和用户输入的金额,如果余额较少我想要显示错误消息,否则成功消息 所以我怎么能得到当前用户的ID在窗体上。 py in django如何在Django的forms.py中获取当前用户的ID?
答
请求对象对用户有参考。
检查用户是否通过身份验证。
request.user.is_authenticated()
获取用户对象;
request.user
答
您可以覆盖表单的__init__
方法来接受用户。
class MyForm(forms.Form):
def __init__(self, *args, **kwargs)
self.user = kwargs.pop('user')
super(MyForm, self).__init__(*args, **kwargs)
在窗体的方法,您现在可以访问self.user
然后,你需要更新您的视图,包括用户,当您实例的形式,例如:
form = MyForm(request.POST, user=request.user)
+0
谢谢你我会尝试 – kkk
谢谢回复..我会尝试 – kkk