【问题标题】:Return django validation errors in JSON format以 JSON 格式返回 django 验证错误
【发布时间】:2017-03-29 09:50:28
【问题描述】:

假设我在 Django 中为我的网络应用程序构建注册/注册或任何一般形式,并且我希望为 Web/Android/IOS 使用相同的表单。所以我希望前端和后端(Django)通过 JSON 进行通信。我的问题是,如果任何平台(Web/Android/IOS)上的用户向我提供了无效数据,例如“电子邮件已存在”类型的错误,我该如何发送 JSON 格式的验证错误?

我需要最好的方法来处理这种类型的场景,并且非常详细的示例/解释将不胜感激。

谢谢。

【问题讨论】:

    标签: python django


    【解决方案1】:

    表单的errors 属性有一个可以使用的as_json 方法。

    if form.is_valid():
        # process valid form
    else:
        errors_json = form.errors.as_json()
        ...
    

    请注意文档中关于转义错误以避免跨站点脚本攻击的警告。

    【讨论】:

    • Android/IOS 将如何捕获这些错误消息?错误只是存储在变量errors_json中。
    • 但我认为响应仅包含 django 项目文件夹中存在的那些文件/url。
    • 你能解释一下在使用ajax从视图中获取这些错误后如何在js中循环遍历这些错误
    • 好的,我在这里发布了一个新问题是链接stackoverflow.com/questions/64648198/…我希望你能帮助我
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 2020-01-23
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多