【问题标题】:Changing error messages in django-rest-auth更改 django-rest-auth 中的错误消息
【发布时间】:2019-05-27 19:11:32
【问题描述】:

每当我使用空的用户名值发出 POST 请求时,我都会收到以下错误消息:

"username": [
        "This field may not be blank."
    ],

我想将此错误消息更改为我自己的自定义错误消息。但是,在我的用户模型中,我尝试创建一个 blank 错误消息,如下所示:

class User(AbstractBaseUser):
    username = models.CharField(max_length=15, unique=True,
                                error_messages={
                                    'blank': 'You have to have a username!',
                                    'unique': "Username has already been taken.",
                                })

但是,不会显示此错误消息,而是显示默认错误消息。如何显示我自己的自定义错误消息? unique 错误消息显示正常,只是 blank 没有出现。

【问题讨论】:

  • 你有对应视图的序列化器吗?
  • @JPG 不,我没有。

标签: python django django-models django-rest-auth


【解决方案1】:

您需要添加 'required': 'I am alternative of This field may not be blank.'

更新:

class UserSerializer(ModelSerializer):

    class Meta:
        model = User
        extra_kwargs = {"username": {"error_messages": {"required": "Give yourself a username"}}}

更新 2:

username = forms.CharField(error_messages={'required': 'Please let us know what is your username!'})

【讨论】:

  • 你可以用序列化器来做到这一点。我在答案中添加了
  • 我需要在 settings.py 中为这个序列化程序添加一些东西吗?
  • 你使用任何 django 表单吗?我不明白你使用 django-rset-ath 包。
  • 是的,我愿意。我正在使用 Django SignupForm
  • 然后在您的注册表单中尝试更新 2
猜你喜欢
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2021-09-15
  • 2012-01-24
  • 2012-05-12
  • 2014-07-14
相关资源
最近更新 更多