我在Django中遇到重定向问题:
我的观点
def myP(request,namep):
return render(request,"site/myP.html")
def create(request):
nom="alaild"
....
return redirect(reverse(myP,namep=nom))
此视图的网址
url(r'^create$', 'create', name='create'),
url(r'^myp/(?P<namep>\d+)','myP', name="myp"),
我有这个错误:
reverse() got an unexpected keyword argument 'name'
我想创建视图重定向到myP视图,但myP视图有1个参数,我不知道怎么做...
答案 0 :(得分:2)
可能是
reverse(myP, kwargs={'namep': nom})
答案 1 :(得分:1)
在您看来,nom
是一个字符串,但在您的网址格式中,您使用的是\d+
(一个或多个数字)。
一种常见的方法是接受一个'slug',它可以包含字母,数字,下划线和连字符:
url(r'^myp/(?P<namep>[\w-]+)','myP', name="myp"),
然后您需要修复reverse
来电的语法。以下任何一种都应该有效。
reverse(myP, kwargs={'namep': nom})
reverse(myP, args=(nom,))