我开始了一个项目,我的目标是在flask中使用bootstrap。我正在阅读FLASK WEB开发(OREILLY)一书。我有来自图书github存储库的完全相同的代码,在导入并启动bootstrap之后,我的templates文件夹中的模板应该在bootstrap文件夹中复制了equals。例如,在启动bootstrap后,模板文件夹中的base.html文件将被扩展为{%扩展"bootstrap/base.html“%}
不幸的是,我得到了一个模板加载错误,因为jinja找不到bootstrap/base.html文件。
我初始化了虚拟环境,安装了flask,还安装了flask bootstrap。我正确地将flask bootstrap导入到我的user.html文件的hello.py和扩展base.html中。
尽管如此,在调试模式下,我得到的错误是jinja无法找到index.html或user.html文件。我很感谢你的帮助。
HELLO.PY文件
from flask import Flask, render_template
from flask_bootstrap import Bootstrap
app = Flask(__name__)
bootstrap = Bootstrap(app)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name)BASE.HTML文件
<html>
<head>
{% block head %}
<title>{% block title %}{% endblock %} - My Application</title>
{% endblock %}
</head>
<body>
{% block body %}
{% endblock %}
</body>
</html>USER.HTML文件
{% extends "bootstrap/base.html" %}
{% block title %}Flasky{% endblock %}
{% block navbar %}
<div class="navbar navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Flasky</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/">Home</a></li>
</ul>
</div>
</div>
</div>
{% endblock %}
{% block content %}
<div class="container">
<div class="page-header">
<h1>Hello, {{ name }}!</h1>
</div>
</div>
{% endblock %}发布于 2021-04-17 02:10:43
我意识到hello.py文件和templates文件夹并不在同一个主文件夹中。
templates文件夹在VENV中。大错特错,但现在我知道得更清楚了。
始终检查终端外部的文件夹结构。谢谢!
https://stackoverflow.com/questions/67129488
复制相似问题