【问题标题】:Django- Getting string value instead of integer even when integer value in passed through `raise exceptions.ParseError`Django-即使整数值通过`raise exceptions.ParseError`传递,也获取字符串值而不是整数
【发布时间】:2018-09-26 11:26:26
【问题描述】:

我希望通过raise exceptions.ParseError({'data':{},'message':'Email address already exists',"status":0}) 的状态为 0 或 1,但我得到一个字符串值

代码

`def validate_email(self, email):

        email = get_adapter().clean_email(email)
        if allauth_settings.UNIQUE_EMAIL:
            if email and email_address_exists(email):

                # raise serializers.ValidationError({'status':0,'message':'Email address already exists'})
                raise exceptions.ParseError({'data':{'user':'nil'},'message':'Email address already exists','status':0})
        return email
`

输出

{ “数据”: {}, “状态”:“0”, "message": "邮箱地址已经存在" }

输出图片链接 status as string

【问题讨论】:

  • 通过 int() 函数将其转换为 int。
  • 试过但得到了相同的结果
  • 向我们展示生成输出的代码,尚不清楚您的错误如何到达“输出”。 “输出”是什么意思?
  • 添加的代码请看一下

标签: django django-rest-framework parse-error


【解决方案1】:

你想在哪里显示这条消息?

如果它在服务器端,我不知道为什么它不工作,但你可以尝试使用变量状态并像这样进行转换:

raise exceptions.ParseError({'data':{},'message':'Email address already exists',"status":int(status)})

【讨论】:

  • 然后尝试使用真/假变量
  • 但我需要整数
猜你喜欢
  • 1970-01-01
  • 2018-05-15
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 2014-06-27
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多