You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask中render_template与make_response使用问题求助

Flask中使用make_response包裹render_template后页面不显示内容的排查方案

你当前的代码语法本身没有错误,make_response(render_template('home.html'))和直接返回render_template('home.html')的预期效果完全一致——因为render_template本身就会生成一个包含模板内容的响应对象,make_response只是用来对响应进行额外修改(比如设置Cookie、自定义响应头)的工具。

可以从以下几点排查问题:

  • 确认模板文件路径
    Flask默认会从项目根目录下的templates文件夹加载模板,你的项目结构必须符合这个规则:

    你的项目/
      index.py
      templates/
        home.html
    

    如果你之前直接返回render_template能正常显示,这条可以快速确认下路径是否没变动。

  • 强制刷新浏览器缓存
    浏览器可能缓存了旧的页面内容,按下Ctrl+F5(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,查看是否能显示内容。

  • 查看错误日志和请求状态

    1. 查看Flask终端的日志:如果服务器端有错误(比如模板找不到),会在这里输出具体报错信息。
    2. 打开浏览器开发者工具(按F12),切换到Network标签,刷新页面后查看请求状态码:
      • 若为404:说明模板文件路径存在问题
      • 若为500:说明服务器端有代码错误,结合终端日志排查
      • 若为200:点击该请求查看Response标签,确认返回的内容是不是<h1>Hi world </h1>,如果内容正确但页面不显示,可能是浏览器渲染的问题。
  • 显式指定响应状态码
    试试在make_response里显式传入200状态码,虽然默认就是这个值,但有时候能解决偶发的响应异常:

    def home():
        return make_response(render_template('home.html'), 200)
    

内容的提问来源于stack exchange,提问作者williamtellezve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:27:10