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

Python Flask调用render_template渲染页面仅显示背景无内容如何排查

Flask模板渲染异常问题排查结果

共存在3处核心问题,对应修复方案如下:

问题1:路由配置不匹配+视图参数缺失

  • 当前代码中仅定义了/和/home/两个路由,无/index路由,访问localhost:5000/index无法匹配到对应视图
  • home视图函数定义了形参name,但路由规则中没有配置对应的参数占位,也没有设置默认值,直接访问会抛出参数缺失错误

修复代码(Test.py):

from flask import Flask
from flask import render_template

app = Flask(__name__)

# 新增/index路由,同时给name参数设置默认值
@app.route("/")
@app.route("/home/")
@app.route("/index/")
def home(name=None):
    return render_template("home.html", name=name if name else "首页")

if __name__ == "__main__":
    app.run(debug=True)

问题2:Jinja2块名称不匹配

  • 父模板base.html中定义的可替换块名为content
  • 子模板home.html中错误写为block body,名称对不上导致子模板内容无法渲染到父模板中

修复代码(home.html):

{% extends 'base.html' %}
<!-- 把块名从body改成和父模板一致的content -->
{% block content %}

<h1>{{ name }}</h1>

{% endblock %}

验证步骤

  1. 重启Flask服务
  2. 访问http://localhost:5000/index即可正常显示页面内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:36:03