我们有一个现有的Django表单,它接受GET请求以允许用户为其生成的查询参数添加书签。该表格包含许多字段,其中大部分都是必需的。形式采用半标准的样板用于处理请求,POST取代GET:Django表单 - 处理GET请求
if request.method == 'GET':
form = myForm(request.GET)
if form.isValid()
# Gather fields together into query.
else
form = myForm()
的问题是,第一次加载窗体,没有什么在GET请求来填充必填字段,所以大部分表单都会显示'缺少字段'错误。
设置初始值不起作用;显然,GET请求中不存在的值会覆盖它们。
我们该如何避免这种情况?我很确定我们只是不正确地处理事情,但我找不到处理GET请求的表单示例。我们希望在用户点击“提交”按钮的同时字段为空或无效时出现错误,但不希望在最初显示表单时显示这些错误。
为什么不使用request.POST和处理表单数据的标准方式? – Bobort