<p>我的猜测是,在将<a href="https://www.django-rest-framework.org/api-guide/exceptions/#custom-exception-handling" rel="nofollow noreferrer">DRF example</a>转换为代码时,您混淆了文本。文件规定:</p>
<pre><code>from rest_framework.views import exception_handler
def custom_exception_handler(exc, context):
# Call REST framework's default exception handler first,
# to get the standard error response.
response = exception_handler(exc, context)
# Now add the HTTP status code to the response.
if response is not None:
response.data['status_code'] = response.status_code
return response
</code></pre>
<p>然后它会告诉您将其添加到您的设置中:</p>
^{pr2}$
<p>请记住,上面的示例具有以下文件夹结构:</p>
<p>“我的项目”>;“我的应用程序”>;“实用工具”>;“自定义异常”处理程序</p>
<p>也就是说:</p>
<p>我的项目文件夹>我的应用文件夹;实用工具.PY>;用于处理异常的已定义函数的名称</p>
<p>我想你就是这样搞糊涂的。因此,您将<code>Custom404ErrorMessage.py</code>放在<strong>utils_文件夹</strong>中,并尝试导入该文件夹而不是定义的函数本身。当然,除非<code>Custom404ErrorMessage.py</code>是一个类,但我对此表示怀疑,因为您似乎在遵循使用函数的链接DRF示例。在</p>
<p>我想你的<strong>客户404错误消息.py</strong>包含以下内容:</p>
<pre><code>from rest_framework.views import exception_handler
def custom_exception_handler(exc, context):
....
</code></pre>
<p>所以对于你的设置,你的<strong>设置.py</strong>将如下所示:</p>
<pre><code>REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'backend.connectivity_service.utils.Custom404ErrorMessage.custom_exception_handler'
}
</code></pre>
<p>看最后一部分是如何定义函数的?希望有帮助!在</p>