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

时间:2017-02-14 12:11:42

标签: django django-models django-forms

我想在我的forms.py上显示当前用户的ID,因为我正在尝试比较用户的钱包余额和用户输入的金额,如果余额较少我想显示错误消息否则成功信息 那么如何在django

中的forms.py上获取当前用户的ID

2 个答案:

答案 0 :(得分:0)

请求对象引用了用户。

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

request.user.is_authenticated()

获取用户对象;

request.user

答案 1 :(得分:0)

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