当视图中发生未处理的异常时,Django默认返回HTML错误模板。如果请求有一个“Accept:'application/json'”标题(但返回通常的HTML),我想返回一个JSON响应。我该怎么做?Django:取决于Accept头的条件500响应?
4
A
回答
1
您可以指定自己的500视图功能,其中您应该能够相应地修改响应。见https://docs.djangoproject.com/en/dev/topics/http/urls/#handler500
2
更改handler500处理程序urls.py:
handler500 = 'application_name.views.error_500'
定义视图功能:
def error_500(request):
# check request header
return HttpResponse(json.dumps(retval), mimetype='application/json')
相关问题
- 1. HTTP响应Accept头
- 2. HTTP请求结果的不同编码取决于Accept标头
- 3. WithFormat闭包不发送基于ACCEPT头的响应
- 4. 取决于条件
- 5. 取决于条件
- 6. 取决于JSON响应采取输入
- 7. 批处理文件有条件,取决于用户对VBScript的响应MsgBox
- 8. 增量取决于条件
- 9. django-rest-framework raise AuthencationFailed cause 500响应
- 10. django rest框架,在ViewSet中额外的检查和保存并返回不同的响应取决于条件
- 11. 使用accept头
- 12. 获取index.html的响应头
- 13. 替换NA取决于条件的值
- 14. MySQL的语法取决于条件
- 15. 条件ORDER BY取决于列的值
- 16. 显示取决于条件的JSF值
- 17. 给予TD的bgcolor取决于条件
- 18. JavaScript:JSON基于用户响应的条件
- 19. 响应头文件
- 20. 从NSMutableURLRequest获取响应头文件
- 21. 如何判断Django为什么忽略Accept-Language头文件?
- 22. 应用if else条件取决于返回的数据类型
- 23. 使用flex获取http 500响应体
- 24. 在获取期间改造500响应
- 25. Buildbot master.cfg有条件取决于属性
- 26. Python:多个条件取决于参数
- 27. 如果条件取决于选项
- 28. 加入条件取决于参数
- 29. DynamoDBMapper:查询取决于多个条件
- 30. .NET Stackexchange.Redis:条件删除取决于值?