request.GET 与 django 中的请求。POST/Redirect/GET

request.GET vs request.POST/Redirect/GET in django

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

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

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

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

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

这取决于您的表单的作用。如果您是 creating/modifying 数据,请使用 POST。否则,使用 GET(参见 http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods)。

您仍然可以将 form.cleaned_data 与 GET 一起使用,您只需将 request.GET 传递给表单即可。