django - 当提供的 url 与 ROOT_URLCONF 中的任何 URL 不匹配时,Django 自定义错误处理
问题描述
当来自前端的端点与 settings.py 中 ROOT_URLCONF 中的任何 URL 不匹配时,如何向前端发送自定义错误消息。目前,如果在 ROOT_URLCONF 中找不到 URL,则会引发 403 错误,并且整个 html 内容都将出现在错误消息中。
在这种情况下如何发送自定义错误消息。
解决方案
您可以有一个自定义错误处理函数返回一个 json 字符串
def not_found_request(request, exception, *args, **kwargs):
"""
Generic 404 error handler.
"""
data = {
'error': 'The requested endpoint does not exist'
}
return JsonResponse(data, status=status.HTTP_404_NOT_FOUND)
然后在您的 urlconf 文件中,您可以将其设置为handler404 = 'not_found_request'
推荐阅读
- typescript - 如何在nestjs中获取和分页许多实体
- c++ - 使用泛型将字符串映射到自定义类的 C++
- django - 想要在页面上显示我的关注列表内容
- list - Ansible 构建动态列表
- arrays - 如何使用 Google Script 将数组数据附加到电子表格行?
- regex - Powercenter Informatica REG_EXTRACT 问题
- c++ - 错误:'const std::vector 类型的引用的初始化无效
&' 来自 'double' 类型的表达式| - c# - 在 SharpGL 中更改宽度、颜色、线型
- redis - ZSCAN 无分数
- matrix - 将一个矩阵复制到另一个矩阵 ocaml