django重定向没有反向匹配错误

时间:2016-03-01 16:40:02

标签: python django redirect

这是我的主要项目timecapture / urls.py内容:

from django.conf.urls import url,include
from django.contrib import admin
from django.core.urlresolvers import reverse_lazy
from . import views


urlpatterns = [ 
    url(r'^admin/', admin.site.urls),
    url(r'^$',views.index,name='index'),
    url(r'^login/$',views.auth_login,name='auth_login'),
    url(r'^logout/$',views.auth_logout,name='auth_logout'),
    url(r'^timesheet/',include('timesheet.urls'),name='timesheet')
]

这是主项目时间表/ urls.py中的一个应用程序:

from django.conf.urls import url,include
from django.contrib import admin
from django.http import HttpResponse
from . import views

urlpatterns = [ 
    url(r'^$',views.index),
]

我无法重定向到'时间表'网址。我使用以下命令:

return redirect('timesheet')

但这有效:

return redirect('/timesheet/')

确切错误是`在此处输入代码

django.core.urlresolvers.NoReverseMatch: Reverse for 'timesheet' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

顺便说一句,我使用的是最新的django 1.9.2和python 3.4

1 个答案:

答案 0 :(得分:2)

您没有名为“时间表”的网址。你有一个包含该名称,但不是视图。

从主urls.py中的include中删除name='timesheet',然后将其添加到timesheet / urls.py中的索引网址。