reverse / httpresponseredirect在django中不起作用

时间:2017-06-22 07:49:39

标签: python django httpresponse

我正在制作多页表单,其中每个页面都会将数据保存在不同的表中。现在,当我提交表单时,我的视图应该是HttpResponseRedirect到一个反向的URL。但这正是未发生的事情。事实是return HttpResponse(reverse('url')打印了正确的网址,但HttpResponseRedirect没有重定向到反向网址。

这是代码:

def get_form_naw(request, form_id, filterid, project_id):
    if request.method == 'POST':
        form = OpnameNawForm(request.POST)
        if form.is_valid():
            form.save()
            form_id = int(form_id) + 1
            url = reverse('opname:get_form', kwargs={'form_id': form_id, 'filterid': filterid, 'project_id': project_id})
            return HttpResponseRedirect(url)
    else:
        form = OpnameNawForm()
    return render(request, 'opname/home.html', {'form': form})

urls.py

url(r'^formulier/step/(?P<filterid>[^/?]+)/(?P<form_id>[^/?]+)/(?P<project_id>[^/?]+)/$', views.get_form, name='get_form'),

1 个答案:

答案 0 :(得分:0)

尝试更改您的网址,可能有点像这样,(假设ID是整数),

url(r'^formulier/step/(?P<filterid>[\d]+)/(?P<form_id>[\d]+)/(?P<project_id>[\d]+)/$', views.get_form, name='get_form')