2017-06-22 39 views
-1

我正在制作一个多页表单,其中每个页面将数据保存在不同的表中。现在,当我提交表单时,我的观点应该HttpResponseRedirect到一个反向的网址。但这正是不可能发生的事情。事实是,return HttpResponse(reverse('url')打印正确的网址,但HttpResponseRedirect不会重定向到反向的网址。reverse/httpresponseredirect在django中不起作用

这是代码:

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'), 
+0

你尝试'重定向(url)'?? '从django.shortcuts导入重定向'.....你有什么错误? – zaidfazil

+0

我没有收到错误,只是一个空白页。重定向做同样的事情。我提交表单,然后留下一个空白页面,而不是新的页面。 –

+0

你可以显示'get_form'视图吗? – zaidfazil

回答

0

试着改变你的网址,也许有点像这样,(假设ID是整数),

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