【问题标题】:How to make form field blank after submitting提交后如何使表单域为空
【发布时间】:2015-06-02 21:12:28
【问题描述】:

我有一个 Django 表单,其中包含许多可以编辑的字段。提交当前表单后,再次打开表单会使用其最近提交的值填充表单字段。

我有一个字段“reason_for_change”,我希望每次打开提交的表单时都留空。

基本上,当用户重新打开要编辑的表单时,我希望重新填充除“reason_for_change”之外的所有字段。我希望它是空白的,这样用户就不会意外地重新提交相同的“reason_for_change”。

我不确定在哪里执行此操作。我尝试强制“reason_for_change”模板的 HTML 模板值等于 '',但这不起作用。

有什么建议吗?

【问题讨论】:

    标签: django forms textinput


    【解决方案1】:

    您可以使用空字符串更新表单的数据。 QueryDict 的唯一问题是不可变的,因此您必须在将 request.POST 传递给表单之前复制它:

    form = MyForm(request.POST.copy())
    if form.is_valid():
        ...
        return redirect(...)
    form.data['reason_for_change'] = ''
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2013-02-14
      相关资源
      最近更新 更多