前言
Flask-RESTX 架構預設傳回的是application/json格式,使用render_template()傳回html内容遇到了一些問題
遇到的問題
需要使用render_template() 傳回HTML内容
from flask_restx import Resource, Namespace, reqparse
from flask import make_response
api = Namespace('render/html')
@api.route('')
class RenderHTML(Resource):
def get(self):
"""渲染html"""
return render_template('hello.html')
模闆内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<h1>hello world</h1>
</body>
</html>
通路後會以字元串格式傳回
預設以json 格式響應
make_response 自定義響應
使用make_response() 自定義響應内容
@api.route('')
class RenderHTML(Resource):
def get(self):
"""渲染html"""
res = render_template('hello.html')
response = make_response(res)
return response
這樣 html 就可以正常渲染了.