«admin» не является зарегистрированным пространством имен в Django 1.4

Я пытаюсь обновить довольно большой проект Django до недавно выпущенной версии Django 1.4, и у меня возникают некоторые проблемы при запуске теста python manage.py.

Многие внутренние тесты, пройденные в 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). Странно то, что пространство имен зарегистрировано корректно и приложение функционирует просто отлично. Я импортирую администратора «новым» способом:

url(r'^admin/', include(admin.site.urls)),

Когда я гуглил эту ошибку, все, что я мог найти, это люди, импортирующие URL-адреса администратора, используя старую схему, и вообще ничего, относящегося к этой проблеме.

Я пробовал удалять приложения из INSTALLED_APPSодно за другим, но тесты авторизации просто не проходили, а также когда я загружал интерпретатор Python из оболочки python manage.pyи выполните reverse('admin:index')URL-адрес разрешается в /admin/без ошибок. Я подробно прочитал код и не вижу, где это может

Как я упоминал ранее, это не единственная возникающая ошибка. Я также получаю AttributeError: AUTH_P ROFILE_MODULEиз теста test_site_profile_not_available (django.contrib.auth.tests.models.ProfileTestCase), хотя AUTH_PROFILE_MODULEопределен в моем settings.pyфайл. Как собственные тесты Джанго могут так давать сбои?

17
задан Rob Golding 26 March 2012 в 14:45
поделиться