请参阅以下示例:
https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#examples
def my_view(request):
...
return redirect('some-view-name', foo='bar') #view name with optional arguments
def my_view(request):
...
return redirect('/some/url/')
如果第一个参数是视图或URL,则无法识别Django。我想指定'login',一个相对路径,但它会查找视图。在我的本地主机上,因为我在根目录中工作,所以我使用'/ login',但是现在我将项目部署到我的Web服务器后,我把它放在一个文件夹中。指定'/ myfolder / login'(绝对路径)是使用重定向快捷方式的唯一方法吗?
答案 0 :(得分:1)
尝试:
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
...
return HttpResponseRedirect( reverse('login', kwargs={'foo': 'bar'}) )