提交后如何使表单域为空
Posted
技术标签:
【中文标题】提交后如何使表单域为空【英文标题】: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 模板值等于 '',但这不起作用。
有什么建议吗?
【问题讨论】:
【参考方案1】:您可以使用空字符串更新表单的数据。 QueryDict
的唯一问题是不可变的,因此您必须在将 request.POST
传递给表单之前复制它:
form = MyForm(request.POST.copy())
if form.is_valid():
...
return redirect(...)
form.data['reason_for_change'] = ''
【讨论】:
以上是关于提交后如何使表单域为空的主要内容,如果未能解决你的问题,请参考以下文章