我写过:
return redirect('/cmmods/login?next=%2F')
我希望能够像这样表达
return redirect('login', next='%2F')
(或者更好的回归redirect('login', next='/')
)
但我无法看到如何将URL参数与指定的URL结合起来。
这有效:
return redirect('login')
所以我知道指定的网址是正常的 - 但我需要通过下一个'它的参数。
答案 0 :(得分:4)
尝试:
from django.core.urlresolvers import reverse
...
return HttpResponseRedirect(reverse('login') + '?next=%2F')
登录url接下来没有参数,但您可以创建一个带有下一个参数的新网址,并在默认的django.contrib.auth之前注入一个
url(r'^login\?next=(?P<next>.*)$', 'django.contrib.auth.views.login', name='login'),
如果您愿意使用redirect('login', next='/')