2015-06-22 35 views
3

使用django rest框架,我總是通過測試進行API調用。但有時它們會失敗,而且我正在將帶有堆棧跟蹤的HTML記錄到文件中,然後用瀏覽器查看它,但這非常煩人。在django上查看錯誤stacktrace 500作爲json

有沒有辦法讓它輸出json或除html之外的其他東西?

回答

2

DRF只處理如下:(源:DRF docs)ApiException而

  • 子類REST框架內上升。
  • Django的Http404異常。
  • Django的權限異常。

如果您知道發生了哪種視圖,則使其呈現API響應的一種方法是嘗試/除非將其提升爲APIException,而不是將其提升爲實際得到的值。

或者您也可以提供自己的異常處理程序(見https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/views.py#L52原始),其中處理比默認的3異常類型多,使用EXCEPTION_HANDLER設置REST_FRAMEWORK

REST_FRAMEWORK = { 
    'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler' 
}