运行Python 2.5 Django 1.2.4
测试基本设置时出现错误消息。我第一次在浏览器中输入/ admin URL时收到错误消息:
在模板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 in render,第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',
)
答案 0 :(得分:2)
如果你在没有被提示的情况下在你的问题中包含settings.py
,你就不能成为新手: - )
如果您没有定义自己的登录/退出网址,请记住在auth
文件中加入urls.py
网址。最好这样做:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# ... other URL defs and includes here ....
(r'', include('django.contrib.auth.urls')),
)
答案 1 :(得分:0)
为我解决这个问题的方法是在settings.py中使用INSTALLED_APPS中的绝对路径。所以:
'myproject.myapp',
而不是
'myapp',
答案 2 :(得分: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)),
答案 3 :(得分:0)
我将此行添加到我的urls.py并解决了问题:
url('', include('django.contrib.auth.urls')),
我正在使用Django 1.5