Django问题:使用HttpResponseRedirect需要帮助

时间:2011-02-25 10:10:52

标签: python django parameters views httpresponse

我有一个名为save_service_request的视图。在代码的末尾,它会重定向到名为send_confirmation_email的视图。

def save_service_request(request):
try:
    # some stuff
except:
        return HttpResponseRedirect(reverse(service_order, args = [contact.client.pk , service_type]))
    return HttpResponseRedirect(reverse(send_confirmation_email, args = [order.pk, service_type]))

现在我想做点什么。如果我在页面

(r'^quote/service_order/(?P<client_id>\d+)/(?P<request_type>\d+)/$', views.service_order),

使用HttpResponseRedirect转到send_confirmation_email视图。

但如果之前的网址被调用了。

(r'^quote/service_order/edit_items/(?P<client_id>\d+)/(?P<request_type>\d+)/$', views.service_order2),

将其发送到此

return HttpResponseRedirect(reverse(delete_confirmation, args = [order.pk, service_type]))

这可能使用if语句。

1 个答案:

答案 0 :(得分:0)

使用next属性:

views.service_order

context = {'next': reverse('views.send_confirmation_email')}

在模板中:

<form action='?next={{ next }}'>

在视图中验证形式:

if 'next' in request.GET:
    return HttpResponseRedirect(request.GET['next'])