【问题标题】:How to define django app specific exception handler如何定义 django 应用程序特定的异常处理程序
【发布时间】:2020-07-29 11:56:16
【问题描述】:

对于我的 django 应用,我正在创建一个自定义异常处理程序,如 https://www.django-rest-framework.org/api-guide/exceptions/#custom-exception-handling 中定义的那样

有没有办法在某些应用程序特定的设置文件中定义 REST_FRAMEWORK 变量而不是全局 settings.py

【问题讨论】:

  • 你为什么要这样做?
  • 与多个应用共享 django 服务器。不想覆盖其他应用的异常响应。
  • 确实有道理。首先,您应该确保(如果您还没有)DRF 的自定义异常处理程序适用于 所有 视图或仅适用于 DRF APIView。如果是这种情况,DRF 的自定义异常处理程序将获取发生异常的视图对象,因此您可以自己测试它是否来自 APIView,如果不是,则忽略它。

标签: django exception


【解决方案1】:

不,没有特定于应用程序的异常处理,您可以通过自定义异常处理程序获取视图、请求等内容并使用 if-else 块进行处理

默认处理程序不使用上下文参数,但如果异常处理程序需要更多信息,例如 当前正在处理的视图,可以作为 context['view']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 2011-07-13
    • 2015-10-18
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多