2015-11-21 3 views
2

У меня есть небольшая проблема с self.request in (Django: V 1.8.4, Python: V 2.7.6) простой модуль входа. Я только начинал с Django, так что если это будет глупо - *** вопрос, извините :)Django self.request unresolved attribute (Login)

Во всяком случае, у меня есть модуль входа в CBV. Итак, мой вид входа (FormView), который использует django.contrib.auth.forms AuthenticationForm. Когда форма действительна, я хочу войти в систему с помощью метода входа django.contrib.auth, который принимает запрос параметра.

def form_valid(self, form): 
    auth_login(self.request, form.get_user()) 

Какие результаты в PyCharm уведомления:

Unresolved attribute reference 'request' for class 'Login' 

Я не могу понять, почему нет запроса отсутствует или если передать запрос на form_valid метода. Может кто-нибудь объяснить, почему мой подход не работает, и подтолкнуть меня в правильном направлении?

ответ

3

self.request прекрасно, и ваш код должен работать без проблем.

В динамическом языке, таком как Python, среда IDE не может окончательно определить, какие атрибуты доступны для объекта, и вы не должны полагаться на нее.

+0

А я понимаю. Теперь это имеет смысл. Спасибо за быстрый ответ. – Nrzonline

1

Иногда это происходит из-за наследования, поскольку некоторые абстрактные классы могут ссылаться на атрибуты, не определенные в этих классах.

Как сказал Даниил, все в порядке. Из-за этого вам не нужно много думать.