2011-05-04 73 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