2011-05-04 78 views
1

運行Python 2.5 Django 1.2.4NoReverseMatch同時呈現Django管理員屏幕?

測試基本設置時出現錯誤信息。第一次我在瀏覽器中輸入/管理URL,我得到錯誤信息:

在模板C:\ DD \ ddproject的\ src \模板\ ADMIN \ base_site.html,錯誤在第10行

在呈現時捕獲NoReverseMatch:未找到參數'()'和關鍵字參數'{}'的'django.contrib.auth.views.logout'反向。

異常位置:C:\ Python25 \ LIB \站點包\ Django的\模板\ 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', 
) 

回答

2

如果你包括你的問題settings.py而不會被提示,你不能太大的新手:-)

如果您並未定義自己的登錄/註銷網址,只記得在您的urls.py文件中包含auth網址。最好做這最後:

from django.conf.urls.defaults import * 

urlpatterns = patterns('', 
    # ... other URL defs and includes here .... 
    (r'', include('django.contrib.auth.urls')), 
) 
+0

謝謝,賈勒特。不,我沒有在我的URL配置中的身份驗證網址。我有一個r''正則表達式已經定義,帶我到我的問候屏幕(我認爲它是一個通配符,因爲任何輸入的url沒有匹配的正則表達式。) 你是說我可以有2個urls.py中使用r''正則表達式定義的URL? – SlowpokeJoe 2011-05-04 23:41:40

+0

您建議的修復工作,Jarret。我現在看到了什麼是正則表達式。讓我從'django.contrib.auth.urls' 拉更多的網址謝謝! – SlowpokeJoe 2011-05-05 00:10:47

0

什麼固定的這對我來說,是settings.py使用在INSTALLED_APPS絕對路徑。所以:

'myproject.myapp', 

,而不是

'myapp', 
0

您需要在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

我加入這行到我的urls.py和問題解決了: url('', include('django.contrib.auth.urls')), 我使用Django 1.5