Is not a registered namespace django

December 2018

12.6k time

I’m attempting to upgrade quite a large Django project to the newly released Django 1.4, and I’m having some issues when running python manage.py test .

Lots of the internal tests which passed in Django 1.3 are now failing, with really odd messages that I can’t seem to fix. One that appears the most is:

This is raised for the django.contrib.auth tests for password changing in particular (one of which is test_password_change_fails_with_mismatched_passwords (django.contrib.auth.tests.views.ChangePasswordTest) . The strange thing is, the namespace is registered correctly and the application functions just fine. I am importing admin in the "new" way:

When I Google this error in particular, all I can find is people importing the admin URLs using the old scheme, and nothing relating to this issue at all.

I’ve tried removing apps from INSTALLED_APPS one by one, but the auth tests simply won’t pass. Also, when I load a Python interpreter from python manage.py shell and execute reverse(‘admin:index’) the URL resolves to /admin/ with no errors. I’ve read through the code extensively, and can’t see where this can be falling down.

As I mentioned earlier, this isn’t the only error that’s occurring. I’m also getting AttributeError: AUTH_PROFILE_MODULE from the test_site_profile_not_available (django.contrib.auth.tests.models.ProfileTestCase) test, even though AUTH_PROFILE_MODULE is defined in my settings.py file. How can Django’s own tests be failing like this?

6 answers

Попробуйте добавить пространство имен = «админ» в рамках методы включает в файле urls.py.

например: URL (г ‘^ админ /’, включают в себя ( "someUrlpattern", пространство имен = "администратора"))

Мой Solutuion был обновить Джанго до последней cersion: пип установить —upgrade Джанго == 1.6.1 до этого, проверьте установленную версию: пип замораживания | Grep Джанго — я обнаружил, что на сервере выпуска была старая версия, модернизируют решить эту проблему!

У меня было подобное сообщение об ошибке случилось со мной , потому что мой URL — конф было 2 logout URL — адреса , определенные.

Как оказалось, это было связано с приказом TEMPLATE_LOADERS ключа в моем файле настроек.

У меня было следующее:

которые, так или иначе, вызвало ошибку при движении задним ходом администратора URL. Переключение два раунда решить эту проблему. Я хотел бы знать, как это происходит, как это не воспроизводимые в пустой проект Django 1.4.

Что было воспроизводимым, однако, был AttributeError для settings.AUTH_PROFILE_MODULE . Оказывается, это ошибка в Django 1.4, которая была подана в день релиза здесь .

Короткий ответ: У вас есть копия Django файлы шаблонов админ скопированных в на директории шаблонов вашего приложения с более ранней версии Django, то вы обновляли Django , но не обновлять (повторное копирование) эти локальные шаблоны.

Длинный ответ: Основной причиной этой проблемы является использование более старой версии файлов шаблона администратора Django (которые устанавливаются где Джанго сама устанавливается, как правило , в Python site-packages или dist-packages каталог). Существует отсталое несовместимое изменение в Django 1.5 о шаблоне URL теге, в котором первый параметр должен быть строкой, от Django 1.5 примечания к выпуску :

Одна особенности осуждаются стоит отметить переход к «новому стилю» URL тегу. До Django 1.3, синтаксис, как <% URL MyView%>интерпретировалась неправильно (Джанго считать «MyView», чтобы быть буквальным имя точки зрения, не является переменной шаблона с именем MyView). Джанго 1.3 и выше введено <% URL загрузки от будущего%>синтаксиса, чтобы привести в исправленном поведении, где MyView был замечен в качестве переменного.

Таким образом, проблема у вас есть копия файлов шаблоны ADMIN в одном из папки шаблонов вашего приложения, которое coppied от более ранней версии Django. Обычно это делается для переопределения шаблонов администратора по умолчанию. Из — за отсталым несовместимое изменение отметило, что этот устаревший файл шаблон не может загрузить в новой среде Django, и вызывает странную ошибку: NoReverseMatch: u’admin’ is not a registered namespace .

Изменение порядка из TEMPLATE_LOADERS записей будет игнорировать локальные изменения шаблонов администратора в пользу шаблонов по умолчанию файла (потому что шаблоны по умолчанию Django загружается полным путем с filesystem.Loader ). Если необходимы модификации (что обычно и бывает), то необходимо обновить локальные файлы шаблонов админ из ваших новых шаблонов установки Django и повторно применить изменения на них.

Примечание 1: Аналогичная ситуация , когда местные шаблоны администратора новее , чем установка по- умолчанию Джанго, который , кажется , это ваш случай. Точно так же, тем лучше исправить это обновить все копии шаблонов администратора.

Примечание 2: Еще одна возможность получить такую ошибку, когда с помощью virtualenv. Например, если вы используете свой проект с virtualenv , но TEMPLATE_DIRS записью для шаблонов администратора Django является вашей глобальной установкой питона, вы можете получить эту ошибку.

Yesterday I was working on my first app using this tutorial. It’s a Poll and Choice app. The first page displays the question and when you click on the question it’s suppose to display choices which you can vote on them.

I had great people who helped me yesterday and told me to use namespace. I’ve read the namespace tutorial and tried to apply my knowledge to the scenario but it isn’t working so far.

This is my error when I click on the questions which is the first page.

Now I know the problems are hidden in detail.html, my main urls and my app called myapp URLCONF and views.py

Now My main URLconf are: C:djcodemysitemysite

My app folder is called myapp and this is myapp URLconf: C:djcodemysitemyapp

Вчера я работал над своим первым приложением, используя этот учебник. Это приложение "Опрос и выбор". На первой странице отображается вопрос, и когда вы нажимаете на вопрос, он должен отображать варианты, на которые вы можете проголосовать.

У меня были замечательные люди, которые помогли мне вчера и сказали мне использовать пространство имен. Я прочитал учебник по пространству имен и попытался применить свои знания к сценарию, но он пока не работает.

Это моя ошибка, когда я нажимаю на вопросы, которые являются первой страницей.

Теперь я знаю, что проблемы скрыты в detail.html, мои основные URL-адреса и мое приложение, называемое myapp URLCONF и views.py

Теперь My main URLconf: C:djcodeMySiteMySite

Моя папка приложения называется myapp, и это myapp URLconf: C:djcodeMySiteMyApp


[an error occurred while processing the directive]
Карта сайта