NoReverseMatch во время рендеринга экрана администратора Django? - PullRequest
1 голос
/ 05 мая 2011

Запуск Python 2.5 Django 1.2.4

Сообщение об ошибке при тестировании базовой настройки. При первом вводе URL-адреса / admin в браузере появляется сообщение об ошибке:

В шаблоне c: \ dd \ ddproject \ src \ templates \ admin \ base_site.html ошибка в строке 10

Поймано NoReverseMatch при рендеринге: обратное для django.contrib.auth.views.logout с аргументами () и ключевыми словами «{}» не найдено.

Местоположение исключения: C: \ Python25 \ lib \ site-packages \ django \ template \ defaulttags.py в рендере, строка 385

Вот код в строке 10

<a href="{% url django.contrib.auth.views.logout %}">{% trans 'Log out' %}</a> 

Я не хочу включать весь мой файл settings.py. Но чтобы ответить на ваши следующие вопросы, вот соответствующие настройки:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
 )

 ROOT_URLCONF = 'src.urls'

 TEMPLATE_DIRS = (
     "/dd/ddproject/src/templates",
 )

 INSTALLED_APPS = (
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.messages',
     'django.contrib.admin',
     'django.contrib.admindocs',
 )

Ответы [ 4 ]

2 голосов
/ 05 мая 2011

Если вы включаете settings.py в свой вопрос без запроса, вы не можете быть таким большим новичком: -)

Если вы не определяете свои собственные URL для входа / выхода, просто не забудьте включить auth URL в ваш файл urls.py. Лучше всего сделать это в прошлом:

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    # ... other URL defs and includes here ....
    (r'', include('django.contrib.auth.urls')),
)
0 голосов
/ 11 сентября 2013

Я добавил эту строку в свой urls.py, и проблема решена: url('', include('django.contrib.auth.urls')), Я использую Django 1.5

0 голосов
/ 03 сентября 2013

Вам нужно добавить в urls.py:

#Session management
(r'^login/$','django.contrib.auth.views.login'),

Или, может быть, вы используете

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

вместо:

(r'^admin',include(admin.site.urls)),
0 голосов
/ 14 декабря 2011

Что исправило это для меня, так это использование абсолютных путей в INSTALLED_APPS в settings.py.Итак:

'myproject.myapp',

, а не

'myapp',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...