在我的一个视图功能中,在某些条件下我想重定向到另一个URL。 所以我在做
return HttpResponseRedirect(reverse(next_view, kwargs={'name': name1}))
现在我有另一个视图功能,如
def next_view(request, name):
我还在相关的urls.py文件中添加以下行
from wherever import next_view
urlpatterns = patterns("",
url(r"^next_view/(?P<name>w+)/", next_view, name="next_view"),
)
这不起作用,我得到
Reverse for 'next_view' with arguments '()' and keyword arguments '{'name': u'test'}' not found.
答案 0 :(得分:1)
我猜这个正则表达式没有正确匹配。怎么样:
r"^next_view/(?P<name>\w+)/"
注意'w'之前的反斜杠。
答案 1 :(得分:1)
对于urls.py
,您希望在w+
之前添加反斜杠,并在网址末尾添加$
符号,以便接受加入其中的任何其他网址:
urlpatterns = patterns("",
url(r"^next_view/(?P<name>\w+)/$", next_view, name="next_view"),
)
对于views.py
,您希望在视图名称周围添加括号:
def example_view(self):
# view code
return HttpResponseRedirect(reverse('next_view', kwargs={'name': name1}))