带有来自模型的自定义验证消息的 Django 1.5 基于类的视图

Posted

技术标签:

【中文标题】带有来自模型的自定义验证消息的 Django 1.5 基于类的视图【英文标题】:Django 1.5 Class Based Views with custom validation messages from the model 【发布时间】:2013-03-07 21:45:58 【问题描述】:

我正在我的 django 应用程序中编写一个相当简单的 CRUD 用于项目管理。我已经进行了以下设置(为简洁起见,省略了各种导入等):

#models.py:
class Project(models.Model):
    name = models.CharField('Name', max_length=250, error_messages='required': 'Please enter a name for your project.')
    description = models.TextField()

#views.py
class ProjectUpdateView(UpdateView):
    model = Project

#templates/projects/project_form.html
<form action="" method="post">
    % csrf_token %
     form.as_p 
    <input type="submit" />
</form>

当我访问我的更新页面时,表单会显示我的两个字段(名称和描述)。如果我遗漏了名称,那么提交表单会返回

的错误
This field is required

而不是

Please enter a name for your project.

我是否可以显示模型中定义的自定义错误消息,而不是通用的“此字段是必需的”?

【问题讨论】:

你可以在modelform中定义clean方法 最佳实践是使用模型表单并设置相应字段的 errors 属性 【参考方案1】:

这是一张关于您遇到的问题的 Django 票:https://code.djangoproject.com/ticket/13693

看起来它已被接受但尚未修复。目前最好的选择是在表单类中显式处理验证。

【讨论】:

以上是关于带有来自模型的自定义验证消息的 Django 1.5 基于类的视图的主要内容,如果未能解决你的问题,请参考以下文章

Django:使用带有 executemany 和 MySQL 的自定义原始 SQL 插入

Django Rest Framework 序列化程序中的自定义错误消息

JWT:如何在密码或用户名错误 Django REST 上实现我的自定义错误消息

Mongoose 模型中的自定义实例或静态方法中的验证错误

无法使用用户名/密码登录令牌端点:drf 令牌身份验证和自定义用户模型,Django

将带有外键的自定义标签呈现到模板问题中