Skip to main content
 首页 » 编程设计

python之Django Rest 框架异常处理程序的位置

2024年08月14日40mq0036

DRF 文档说一旦设置了异常处理程序,就需要在 settings.py 中定义它,如下所示:

REST_FRAMEWORK = { 
'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler' 
} 

我的Django项目布局是这样的:

backend 
    settings.py 
    connectivity_service 
        utils 
            Custom404ErrorMessage.py 

项目名为backend,应用名称为connectivity_service。Custom404ErrorMessage.py 文件包含处理异常的函数custom_exception_handler。

我的 settings.py 看起来像这样:

REST_FRAMEWORK = { 
'EXCEPTION_HANDLER': 'backend.connectivity_service.utils.Custom404ErrorMessage' 
} 

但是,这给了我以下错误信息:

ImportError: Could not import 'backend.connectivity_service.utils.Custom404ErrorMessage'  
for API setting 'EXCEPTION_HANDLER'. ModuleNotFoundError: No module named  
'backend.connectivity_service'. 

我做错了什么?

请您参考如下方法:

我也有这个问题,你需要做的是解决这个问题:

  1. 在您的应用文件夹中创建 utils.py
  2. 在其中定义您的 custom_exception_handler 函数
  3. 在您的设置文件中添加此“'EXCEPTION_HANDLER': 'my_app.utils.custom_exception_handler'”,无需键入 my_project