request.GET vs request.POST/Redirect/GET in django [英] request.GET vs request.POST/Redirect/GET in django

查看:127
本文介绍了request.GET vs request.POST/Redirect/GET in django的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在处理具有多个输入参数和分页的表单时,用户可以选择任何数量的参数(如搜索表单)哪种方法更好,为什么?从一个视图中直接从request.GET接收数据或实现Post / Redirect / Get(2视图)。



使用Post / Redirect / Get,可以使用ModelForms内置方法轻松地清理数据:

 code如果request.method =='POST':
form = MySearchForm(request.POST)
如果form.is_valid():
cd = form.cleaned_data
#do的东西cd

如何使用request.GET来清理数据?



为什么要在这种情况下使用request.GET而不是POST / Redirect / GET?

解决方案

这取决于你的表单。如果您正在创建/修改数据,请使用POST。否则,请使用GET(请参阅 http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods)。



您仍然可以使用 form.cleaned_data 与GET,您只需要通过 request.GET 到表单。


In dealing with forms with multiple input parameters and pagination, where user can choose any number of parameters (like a search form) which approach is better and why? receiving data straight from request.GET in one view or implementing a Post/Redirect/Get (2 views).

using Post/Redirect/Get, one can easily sanitize data using ModelForms builtin methods:

if request.method == 'POST': 
    form = MySearchForm(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        #do stuff with cd

How would you sanitize data using request.GET?

Why would you want to use request.GET instead of POST/Redirect/GET in such circumstances?

解决方案

That depends on what your form does. If you're creating/modifying data, use POST. Otherwise, use GET (see http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods).

You can still use form.cleaned_data with GET, you just have to pass request.GET to the form.

这篇关于request.GET vs request.POST/Redirect/GET in django的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆