注意以上视图是处理表单的经典流程,即:
def form_process_view(request):
if request.method == 'POST':
# 请求为 POST,利用用户提交的数据构造一个绑定了数据的表单
form = Form(request.POST)
if form.is_valid():
# 表单数据合法
# 进行其它处理...
# 跳转
return redirect('/')
else:
# 请求不是 POST,构造一个空表单
form = Form()
# 渲染模板
# 如果不是 POST 请求,则渲染的是一个空的表单
# 如果用户通过表单提交数据,但是数据验证不合法,则渲染的是一个带有错误信息的表单
return render(request, 'template.html', context={'form': form})
以上逻辑代码稍加修改就可以应用于各种表单处理。