带参数的 Django 重定向视图

Django Redirect view with args

我在 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 个参数,我不知道如何...

可能是

reverse(myP, kwargs={'namep': nom})

在您看来,nom 是一个字符串,但在您的 url 模式中,您使用的是 \d+(一个或多个数字)。

一种常见的方法是接受可以包含字母、数字、下划线和连字符的 'slug':

url(r'^myp/(?P<namep>[\w-]+)','myP', name="myp"),

然后您需要修复 reverse 调用的语法。以下任何一项都应该有效。

reverse(myP, kwargs={'namep': nom})
reverse(myP, args=(nom,))