2017-02-14 2 views
0

Я хочу идентификатор текущего пользователя на моих формах.py, потому что я пытаюсь сравнить баланс кошелька пользователя и введенную сумму пользователя, если баланс меньше. Я хочу показать сообщение об ошибке в противном случае сообщение об успешном завершении , так как я могу получить идентификатор текущего пользователя в формах. py in djangoКак я могу получить идентификатор текущего пользователя в form.py в Django?

ответ

0

объект запроса имеет ссылку на пользователя.

Проверить, не авторизованы ли пользователи.

request.user.is_authenticated() 

для получения объекта пользователя;

request.user 
+0

спасибо за ответ .. я попробую – kkk

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) 
+0

спасибо, что я попробую – kkk

Смежные вопросы