MicroPython网页服务返回HTML被识别为文本的问题求助
解决microdot返回HTML被识别为纯文本的问题
- 核心原因:microdot默认响应的
Content-Type为text/plain,浏览器会按纯文本解析内容,不会渲染HTML标签。 - 修复方法:
- 指定单个路由的响应头部:返回内容时附带
text/html类型的头部,用元组格式返回即可:from microdot import Microdot app = Microdot() @app.route('/') def index(): html_content = "<h1>测试HTML渲染</h1><p>这是一段可被解析的HTML内容</p>" return html_content, 200, {'Content-Type': 'text/html'} - 全局设置默认响应类型:如果所有路由都返回HTML,可以全局修改默认
Content-Type(需microdot版本支持Response类):from microdot import Microdot, Response app = Microdot() # 全局设置默认响应内容类型为HTML Response.default_content_type = 'text/html' @app.route('/') def index(): return "<h1>全局设置后的HTML渲染</h1>"
- 指定单个路由的响应头部:返回内容时附带
- 版本兼容提示:若使用的microdot版本无
Response类,优先采用第一种元组返回的方式,兼容性更强。
内容的提问来源于stack exchange,提问作者Alex Holcombe
相关产品推荐
相关产品推荐

