我正在尝试渲染文件home.html
。该文件存在于我的项目中,但是jinja2.exceptions.TemplateNotFound: home.html
当我尝试渲染它时,我一直在获取文件。Flask为什么找不到我的模板?
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('home.html')
/myproject
app.py
home.html
必须在正确的位置创建模板文件。在templates
你的python模块旁边的子目录中。
该错误表明目录中没有home.html
文件templates/
。确保在与python
模块相同的目录中创建了该目录,并且确实将home.html
文件放在该子目录中。如果你的应用是软件包,则应在软件包内创建模板文件夹。
myproject/
app.py
templates/
home.html
myproject/
mypackage/
__init__.py
templates/
home.html
另外,如果你将模板文件夹命名为templates而不是其他名称,并且不想将其重命名为默认名称,则可以告诉Flask使用该其他目录。
app = Flask(__name__, template_folder='template') # still relative to module
你可以问烧瓶解释它是如何试图找到一个给定的模板,通过设置EXPLAIN_TEMPLATE_LOADING选项来True。对于每个加载的模板,你将获得一个报告记录到Flaskapp.logger的级别INFO。
搜索成功后的样子:在此示例中,foo/bar.html
模板扩展了base.html
模板,因此有两个搜索:
[2019-06-15 16:03:39,197] INFO in debughelpers: Locating template "foo/bar.html":
1: trying loader of application "flaskpackagename"
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /.../project/flaskpackagename/templates
-> found ('/.../project/flaskpackagename/templates/foo/bar.html')
[2019-06-15 16:03:39,203] INFO in debughelpers: Locating template "base.html":
1: trying loader of application "flaskpackagename"
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /.../project/flaskpackagename/templates
-> found ('/.../project/flaskpackagename/templates/base.html')
蓝图也可以注册自己的模板目录,但这不是必需的,如果你使用蓝图可以更轻松地在逻辑单元之间拆分较大的项目。即使在每个蓝图中使用其他路径,也始终会首先搜索Flask应用程序主模板目录。
问题内容: 我正在尝试渲染文件。该文件存在于我的项目中,但是当我尝试渲染它时,我一直在获取文件。Flask为什么找不到我的模板? 问题答案: 你必须在正确的位置创建模板文件。在你的模块旁边的子目录中。 该错误表明目录中没有文件。确保在与python模块相同的目录中创建了该目录,并且确实将文件放在该子目录中。如果你的应用是软件包,则应在软件包内创建模板文件夹。 另外,如果你将模板文件夹命名为而不是其
问题内容: 我当前正在编写一个脚本,该脚本必须检查所有指定的文件夹是否实际存在。我发现我必须将os.path.isdir()与绝对路径一起使用。 我有以下目录结构: 当我打开op我的python命令行并尝试文件夹是否确实存在时,我得到以下信息: 这很奇怪,因为当我将这些路径复制并粘贴到Windows资源管理器中时,我可以毫无问题地访问它们。我检查了权限,所有文件夹都具有相同的权限。有人知道我在做什
问题内容: 我已经成功创建并显示了模板,并使用AngularJS从REST服务中检索了一些数据,但是,当JSON响应仍在加载时,浏览器会在顶部显示页脚模板,当响应返回JSON数据时,页脚将显示底部。 这很快发生,但是页脚模板在转到底部之前在页面顶部闪烁。 我尝试使用ng- cloak方法,不幸的是,问题仍在发生。我按照API参考的建议将CSS放入ng- cloak 。 这是我的应用代码: 我尝试将
问题内容: 我有一个Flask应用程序,正在尝试使用Gunicorn和nginx进行部署。但是,尽管它在本地运行良好,但是当我在远程服务器上使用Gunicorn运行时,它会引发TemplateNotFound错误。 我不确定如何开始调试它,更不用说它为什么会失败了……希望对前者有所帮助,即使不是后者。我以为这可能是权限问题,所以将模板文件夹更改为777 …没有运气。这是所有相关的细节: 安装脚本
我使用CORS请求将数据发布到不同域上的php脚本。我收到错误: 跨域请求被阻止:同源策略不允许读取“mydomain”处的远程资源(原因:缺少CORS标头“Access-Control-Allow-Origin”)。 我已经使用以下代码在php中设置了标题。 我也在这篇文章中尝试了这个代码 这是供参考的javascript代码 响应标题 请求标头 但我运气不好任何帮助我都很感激
问题内容: 尝试运行gradle时,出现以下错误: 但是,当我检查JAVA_HOME变量时,我得到: 我的JAVA_HOME是在.bashrc中定义的,我已经仔细检查过它是否已设置为源。 运行还确认JAVA_HOME设置正确并且在PATH上。 我还检查了符号连接这反过来又正确的符号链接 另外,我检查了或中没有重复的JAVA_HOME定义。 所以我的问题是Gradle如何/为什么找到,更重要的是如何