我想用DRF响应替换默认的django 404(以及将来的其他版本),尽可能简单地返回(标准DRF响应):
{
"detail": "Not found."
}
所以我把这段代码放在我的url.py文件中。
from rest_framework.exceptions import NotFound
from django.conf.urls import handler404
handler404 = NotFound
当我设置Debug标志时(在设置Ture我正在设置500,当设置为False 404但是在html表单中。
我在这里阅读了文档:http://www.django-rest-framework.org/api-guide/exceptions/但说实话我不知道如何将其变为现实。
它似乎很容易,但不知怎的,我没有实现这个(上面的代码来自其他SO线程)。
提前谢谢
答案 0 :(得分:0)
您应该为404创建自定义视图然后使用它。 例如:
views.py
中的:
from django.http import HttpResponseNotFound
import json
def error404(request, exception):
response_data = {}
response_data['detail'] = 'Not found.'
return HttpResponseNotFound(json.dumps(response_data), content_type="application/json")
然后在urls.py
:
from django.conf.urls import handler404
from yourapp.views import error404
handler404 = error404