Penna_a 2024-03-11 14:50 采纳率: 0%
浏览 101

jinja2.exceptions.TemplateNotFound

jinja2.exceptions.TemplateNotFound

jinja2.exceptions.TemplateNotFound: bootstrap/base.html

img

文件目录结构如下:

img


运行代码如下:

from flask import Flask, render_template
from flask_bootstrap import Bootstrap

app = Flask(__name__)
bootstrap = Bootstrap(app)

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

@app.errorhandler(500)
def internal_server_error(e):
    return render_template('500.html'), 500

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/user/<name>')
def user(name):
    return render_template('user.html', name=name)

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

还是找不到原因,希望各位不吝赐教。

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-11 14:50
    关注

    引自免费微信小程序:皆我百晓生

    在你的 Flask 应用中,你已经从 flask_bootstrap 导入并初始化了 Bootstrap。当调用 bootstrap = Bootstrap(app) 时,Flask-Bootstrap 会尝试找到名为 bootstrap/base.html 的模板文件,该文件用于扩展基本的 HTML 结构以包含 Bootstrap 样式和脚本。

    根据你提供的信息,错误提示为 jinja2.exceptions.TemplateNotFound: bootstrap/base.html,这表明 Flask 没有在指定的模板目录(即 templates/ 目录下)找到这个基础模板文件。

    为了解决这个问题,请按照以下步骤操作:

    1. 确保你已经安装了 Flask-Bootstrap。如果没有,请使用 pip 安装:

      pip install flask-bootstrap
      
    2. 将 Flask-Bootstrap 提供的基础模板文件复制到你的项目中的 templates/bootstrap/ 目录下。如果你没有此目录,则需要创建它。通常,Flask-Bootstrap 包含这些模板文件,你可以从它的 GitHub 仓库或者已安装包的路径下找到它们。

    3. 在你的项目中创建 templates/bootstrap/ 目录,并将 base.html 文件放入其中。确保内容与 Flask-Bootstrap 提供的 base.html 模板一致。

    4. 如果你不想手动复制模板文件,也可以考虑在代码中明确指定 Bootstrap 样式表 (CSS) 和 JavaScript (JS) 文件的路径,而不是依赖于默认的 bootstrap/base.html 模板。

    完成以上步骤后,你的应用应该能够正确地找到 bootstrap/base.html 模板,并在渲染页面时应用 Bootstrap 样式。由于此处无法直接提供完整的 base.html 文件内容,你需要参考 Flask-Bootstrap 的文档或查看相关源码来获取正确的文件内容。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月11日