如何在Django的forms.py中获取当前用户的ID?

问题描述:

我想在我的forms.py当前用户的ID,因为我想比较用户的钱包余额和用户输入的金额,如果余额较少我想要显示错误消息,否则成功消息 所以我怎么能得到当前用户的ID在窗体上。 py in django如何在Django的forms.py中获取当前用户的ID?

请求对象对用户有参考。

检查用户是否通过身份验证。

request.user.is_authenticated() 

获取用户对象;

request.user 
+0

谢谢回复..我会尝试 – kkk

您可以覆盖表单的__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