Я пишу простое (на данный момент) Django приложение. У меня проблемы с аутентификацией: я пытаюсь использовать все готовые компоненты, и как в самом приложении, так и в тестах я не могу аутентифицировать пользователей. Так, например, вот тест, который не проходит:
from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib.auth.models import User
from django.test import TestCase
[...]
class UserTestCase(TestCase):
def setUp(self):
self.testu = User(username="thename", password="thepassword", first_name="thefirstname")
self.testu.save()
def testAuthenticate(self):
u = authenticate(username="thename", password="thepassword")
self.assertEqual(u.first_name, "thefirstname")
Я получаю AttributeError:
Объект 'NoneType' не имеет атрибута 'first_name'.
Я думаю, это потому, что authenticate () возвращает None (что означает, что такого пользователя нет).
Это не удается, независимо от того, включаю я строку «self.testu.save ()» или нет.
У меня проходят другие тесты, поэтому я не думаю, что проблема в инфраструктуре тестов. Я могу успешно создавать пользователей и получать их информацию из базы данных.
Единственное упоминание о пользователе в models.py:
from django.contrib.auth.models import User
Я прочитал много документации, но могу не понять, что происходит. Кто-нибудь может помочь? Заранее спасибо.