在处理具有多个输入参数和分页的表单时,用户可以选择任意数量的参数(如搜索表单)哪种方法更好,为什么?直接从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?
答案 0 :(得分:3)
这取决于你的表格。如果您要创建/修改数据,请使用POST。否则,请使用GET(请参阅http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods)。
您仍然可以将form.cleaned_data
与GET一起使用,只需将request.GET
传递给表单即可。