在Django URL分配器中使用Handler404导致服务器错误

时间:2019-05-11 09:45:42

标签: django django-rest-framework django-errors

我遵循了这个https://stackoverflow.com/a/31381075/10087274,因为我想在URL不存在时json显示错误,但是问题是我在URL分配器中添加handler404时出现服务器错误500 这是我的项目网址:

from django.urls import path, include
from django.conf.urls import handler404
from api.exception import custom404

handler404 = custom404

urlpatterns = [
    path('api/v1/', include('acl.urls')),
]

并且我的项目文件夹(在settings.py附近)中包含exception.py:

from django.http import JsonResponse


def custom404(request):
    return JsonResponse({
        'status_code': 404,
        'error': 'The resource was not found'
    })

我不知道如何解决我的问题

1 个答案:

答案 0 :(得分:2)

不幸的是,您没有提供太多有关错误回溯的信息。

无论如何,我在您的代码中注意到的第一件事就是,您错过了 {em> {1}} 功能。该函数 应该采用两个参数,custom404request

exception

参考
1. Custom Error Views