Python 基于烧瓶中请求的内容类型的更改响应
我有一个Flask应用程序,它返回HTML页面和对API请求的JSON响应。我想根据请求的内容类型更改错误处理程序返回的内容。如果客户端请求Python 基于烧瓶中请求的内容类型的更改响应,python,flask,Python,Flask,我有一个Flask应用程序,它返回HTML页面和对API请求的JSON响应。我想根据请求的内容类型更改错误处理程序返回的内容。如果客户端请求application/json,我想返回jsonify响应,否则我想返回render\u template响应。如何检测请求的内容并适当更改响应 我拥有的当前错误处理程序只返回HTML响应 def register_errorhandlers(app): """Register error handlers.""" def render_e
application/json
,我想返回jsonify
响应,否则我想返回render\u template
响应。如何检测请求的内容并适当更改响应
我拥有的当前错误处理程序只返回HTML响应
def register_errorhandlers(app):
"""Register error handlers."""
def render_error(error):
"""Render error template."""
# If a HTTPException, pull the `code` attribute; default to 500
error_code = getattr(error, 'code', 500)
return render_template('{0}.html'.format(error_code)), error_code
for errcode in [401, 404, 500]:
app.errorhandler(errcode)(render_error)
用于获取客户端随请求发送的内容类型。使用获取客户端在响应中表示可以接受的mimetype。使用这些来确定要返回的内容
from flask import request, jsonify, render_template
if request.accept_mimetypes.accept_json:
return jsonify(...)
else:
return render_template(...)