4

使用 django rest 框架,我总是通过测试进行 API 调用。但有时它们会失败,我目前正在将带有堆栈跟踪的 HTML 记录到一个文件中,然后用浏览器查看它,但这很烦人。

有没有办法让它输出json或html以外的任何东西?

4

1 回答 1

2

DRF 仅处理以下内容:(来源:DRF docs

  • 在 REST 框架内引发的 APIException 的子类。
  • Django 的 Http404 异常。
  • Django 的 PermissionDenied 异常。

如果您知道这发生在哪个视图中,使其呈现 API 响应的一种方法是尝试/排除并将其作为 APIException 引发,而不是您实际得到的任何内容。

或者,您还可以提供自己的异常处理程序(参见https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/views.py#L52原始),它处理的不仅仅是默认的 3 异常类型,通过使用 REST_FRAMEWORK 的 EXCEPTION_HANDLER 设置

REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler'
}
于 2015-06-22T06:16:06.310 回答