Я пытаюсь обновить довольно большой проект Django до недавно выпущенного Django 1.4, и у меня возникают некоторые проблемы при запуске python manage.py test
.
Многие внутренние тесты, которые проходили в Django 1.3, теперь терпят неудачу, с действительно странными сообщениями, которые я не могу исправить. Тот, который появляется больше всего:
NoReverseMatch: u'admin' is not a registered namespace
Это поднимается для django.contrib.auth
тестов, в частности, для смены пароля (один из которых test_password_change_fails_with_mismatched_passwords (django.contrib.auth.tests.views.ChangePasswordTest)
. Странно то, что пространство имен зарегистрировано правильно, и приложение работает нормально. Я импортирую admin в " новый "путь:
url(r'^admin/', include(admin.site.urls)),
Когда я, в частности, гуглю эту ошибку, все, что я могу найти, - это люди, импортирующие URL-адреса администратора по старой схеме, и вообще ничего не относящиеся к этой проблеме.
Я пытался удалить приложения из INSTALLED_APPS
по одному, но тесты аутентификации просто не пройдут. Кроме того, когда я загружаю интерпретатор Python из python manage.py shell
и выполняю reverse('admin:index')
, URL-адрес преобразуется в /admin/
без ошибок. Я внимательно прочитал код и не вижу, где это может упасть.
Как я упоминал ранее, это не единственная ошибка, которая возникает. Я также получаю AttributeError: AUTH_PROFILE_MODULE
из теста test_site_profile_not_available (django.contrib.auth.tests.models.ProfileTestCase)
, хотя в моем файле settings.py
определено AUTH_PROFILE_MODULE
. Как собственные тесты Джанго могут проваливаться, как это?