django - Django 从 is_valid 打印无效值
问题描述
我有一个 Django 视图,它将保存来自 Post 请求的值
form=MyForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.added_on = timezone.now()
post.save()
return redirect(index)
如何打印导致 is_valid() 测试失败的无效值?
解决方案
您可以使用表单具有的.errors
属性 [Django-doc] 。它是一个类似字典的对象,将字段名称映射到错误列表。对于某些字段,该值可能有多个错误(例如,密码可能太短,并且不包含数字)。
如文档中所述:
返回将字段映射到其原始 ValidationError 实例的字典。
>>> f.errors.as_data() {'sender': [ValidationError(['Enter a valid email address.'])], 'subject': [ValidationError(['This field is required.'])]}
该对象还有一些额外的方法,例如.errors.as_json
[Django-doc],它们会将错误转换为 JSON blob。
推荐阅读
- c++ - LNK2005 类 X 已在 Y.obj 中定义
- cmd - 使用从 .TIF 到 .JPG 的“gdal_translate”如何将背景设置为白色?
- r - ggplot facet_grid,给出奇怪情节的代码
- mysql - 使用来自其他表的两个不同 ID 从同一列中获取不同的名称
- ios - 状态栏有白色文本和黑色图标
- c++ - << 整数重载
- android - 广播接收器在模拟器上工作但在真实设备上工作(Android Oreo)
- ubuntu - 使用 gpg 时如何修复“gpg:警告:homedir '/home/jonny/.gnupg' 上的不安全所有权”?
- node.js - 运行 React 应用程序时出错
- linux - 如何遍历作为参数传递给 bash 函数的一系列数字,然后返回偶数的计数?