TastyPie 自定义错误和状态代码 = 500,调试 = True
TastyPie Custom error and status code = 500 with debug = True
我试图在我的 api.py 文件中抛出一个自定义错误,DEBUG = True。它抛出错误
{
"error_message": "Sorry, this request could not be processed. Please try again later."
}
这是默认的 TASTYPIE_CANNED_ERROR 消息。
我希望错误是这样的:
{"error_message": "{'id': 2671, 'error': 'Duplicate'}"}
我尝试覆盖 _handle_500 方法,但这似乎是 return 我的网站 html 页面的响应。
我得到了状态码为 400 的所需格式:
raise BadRequest({"id": int(attempt[0].id), "error": "Duplicate"})
但我需要状态码为 500。
使用 ImmediateHttpResponse 并创建错误消息字典,然后发送它作为响应。而且还需要指定content_type="application/json".
from django.http import HttpResponse
from tastypie.exceptions import ImmediateHttpResponse
// Build your response
response = {"error_message": {'id': 2671, 'error': 'Duplicate'}}
raise ImmediateHttpResponse(response=HttpResponse(json.dumps(response), status=401, content_type="application/json"))
我试图在我的 api.py 文件中抛出一个自定义错误,DEBUG = True。它抛出错误
{
"error_message": "Sorry, this request could not be processed. Please try again later."
}
这是默认的 TASTYPIE_CANNED_ERROR 消息。
我希望错误是这样的:
{"error_message": "{'id': 2671, 'error': 'Duplicate'}"}
我尝试覆盖 _handle_500 方法,但这似乎是 return 我的网站 html 页面的响应。
我得到了状态码为 400 的所需格式:
raise BadRequest({"id": int(attempt[0].id), "error": "Duplicate"})
但我需要状态码为 500。
使用 ImmediateHttpResponse 并创建错误消息字典,然后发送它作为响应。而且还需要指定content_type="application/json".
from django.http import HttpResponse
from tastypie.exceptions import ImmediateHttpResponse
// Build your response
response = {"error_message": {'id': 2671, 'error': 'Duplicate'}}
raise ImmediateHttpResponse(response=HttpResponse(json.dumps(response), status=401, content_type="application/json"))