0

如何跟踪表单错误?django 或插件中是否有任何概念来跟踪表单错误?

我想了解为什么我的一些网站用户在提交有效表格时遇到问题。(通过在某处查看验证错误和输入)

4

2 回答 2

1

我想您使用的是受支持的 Django 版本,那么您可以使用 Form 的add_error方法:

from django import forms

class MyForm(forms.Form):
    title = forms.CharField(max_length=4)

    def add_error(self, field, error):
        if field is not None:
            print('Error on field {}: {}'.format(field, error))
        else:
            print('Error on form: {}'.format(error))  # non field error
        super().add_error(field, error)

form = MyForm(data={'title': 'John Smith'})
form.is_valid()      

您可以用您喜欢的日志记录方式替换打印语句(例如 logging.info)。

于 2018-06-16T19:16:32.993 回答
0

要按照您的描述进行操作,下面的代码片段可能会有所帮助。然后,您可以遍历模板中的 form.errors ...

if form.is_valid():
    pass
    #actions
else:
    # form instance that has errors will be passed to the template
    return render(request, 'template.html', {'form': form})
于 2018-06-16T14:59:29.247 回答