gpt4 book ai didi

python - Django:当用户根本不填写表单时如何引发异常?

转载 作者:太空宇宙 更新时间:2023-11-04 01:31:32 27 4
gpt4 key购买 nike

当用户点击注册表单上的“提交”按钮但未填写表单上的任何字段时,我如何引发异常?


如果发生这种情况,我只想显示那个错误(“请在提交前填写表格。”),而不显示通常会显示的字段错误用户忘记填写必填字段。

换句话说,如果用户在没有填写任何字段的情况下点击提交按钮,我希望它只显示一个错误:“请在提交前填写该字段。”


我认为可能有两种方法可以实现这一点:

  • 在表单的干净方法中的某处生成错误;并在模板中有一个 if 语句,该语句如果产生此错误则忽略所有其他错误

  • 在用户点击提交按钮后立即在实际模板中生成错误(我不确定这是否可能)。

第一个选项的问题是我需要使用 if 语句,如下所示。但我不知道如何找出那个特定的错误。

{% if form.special_error %}
...display the special error
...disregard any other field or non_field errors
{% endif %}

我只知道怎么用form.errors , form.non_field_errors , 和 form.<specific_field>在 if 语句中。这些都不会明确表示发生了这个特殊错误。

必须有一个简单的方法来做到这一点!!!

最佳答案

如果是这种情况,您可以只在服务器端检查表单是否已更改,而不是验证它。通过这样做:

def submit_form(request):
if request.method == 'POST':
form = Form(request.POST)
if not form.has_changed():
#Generate Error

关于python - Django:当用户根本不填写表单时如何引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13619780/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com