我正在使用Django 1.9,我一直收到这个错误:
/ class / create /
中的NoReverseMatch用'class_sheet'反转 没有找到参数'()'和关键字参数'{'class_name':'d'}'。 尝试了0种模式:[]
我的app / views.py
中有这个from django.shortcuts import redirect
...
def class_sheet(request, class_name):
get_object_or_404(EnclaveClass, pk=class_name)
return HttpResponse("this is %s" % class_name)
def create_class(request):
return redirect('class_sheet', class_name='d')
在我的urs.py
中urlpatterns = [
...
url(r'^create/$', views.create_class, name="create_class"),
url(r'^(?P<class_name>.*)/$', views.class_sheet, name="class_sheet"),
...
]
我无法在网上找到任何表明我的功能有误的帖子。关于如何修理或在哪里看的任何建议都表示赞赏。
答案 0 :(得分:1)
您应该使用'app:class_sheet'
,其中app
namespace
用于包含网址:include('app.urls', namespace='app')
。
答案 1 :(得分:0)
我没有指定名称空间!将create_class更改为
def create_class(request):
return redirect('class:class_sheet', class_name='d')
让重定向工作。
非常感谢弗拉基米尔·丹尼洛夫在评论中指出这一点!
答案 2 :(得分:-1)
如果对此URL的请求满足URL中的正则表达式,您是否在浏览器中检查了CONSOLE?