【发布时间】:2016-01-23 16:16:17
【问题描述】:
我在我的 django 项目的 movie 应用中遇到以下异常:
异常类型:/movie/ 处的 NoReverseMatch 异常值:“movie.views.movie_detail”的反向参数“(u'the_peanuts_movie',)”和关键字参数“{}”未找到。尝试了 0 个模式:[]
这里是movie.urls.py的url模式:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^(?P<movie_name>[\w_]+)$', views.movie_detail, name='movie_detail'),
url(r'^', views.movie_home, name='movie_home'),
]
这里是 movies.views.py 的一些部分:
def movie_detail(request, movie_name):
# code
...
def movie_home(request):
...
return redirect(movie_detail, movie_name)
# movie_name is a string
到目前为止,我无法让这段代码工作。但如果我更改 return 语句 并将其放入 movie_home 函数,它会起作用:
movie_name += '/'
return redirect(movie_name)
现在在 stackoverflow 中阅读了其他一些此类问题后,我知道 return redirect(movie_name) 语句有效,因为它重定向到一个 url:
127.0.0.1:8000/movie/whatever_is_the_movie_name
但我不明白为什么重定向到 movie_detail 视图不起作用。
我怎样才能让它工作?
【问题讨论】:
标签: python regex django redirect