【问题标题】:jinja2.exceptions.TemplateNotFound index.htmljinja2.exceptions.TemplateNotFound index.html
【发布时间】:2020-11-16 18:06:26
【问题描述】:

我正在尝试通过创建一个简单的博客网站来学习烧瓶。我的项目的文件结构如下所示:

  • 烧瓶博客
    • setup.py
    • 烧瓶博客
      • __init__.py
      • views.py
      • 模板
        • index.html

所以我的模板目录与我的 __init__.py 和 views.py 处于同一级别,如下所示:

# __init__.py
from flask import Flask
app = Flask('__name__')
import flaskBlog.views
# views.py
from flaskBlog import app
from flask import render_template
@app.route('/')
def index():
    return render_template('index.html')

当我使用flask run 时,它正常启动并告诉我它在 localhost:5000 上运行,但是当我尝试导航到它时,我收到一个 jinja 错误,说 jinja2.exceptions.TemplateNotFound index.html。我在这里看到的每个类似问题都通过说确保我的应用程序和我的模板文件夹处于同一级别来回答,但我仍然收到此错误。为什么找不到索引模板?

【问题讨论】:

    标签: python flask jinja2


    【解决方案1】:

    您可以将模板目录提高一级(在您的博客应用程序旁边),或者您可以定义要从中加载模板的路径,如下所示: https://flask.palletsprojects.com/en/1.1.x/api/#application-object(检查 template_folder 参数)

    【讨论】:

    • 谢谢。我在想 init.py 是我的烧瓶应用程序,因为那是我创建它的地方。将模板目录移动到与内部 flaskBlog 目录相同的级别后,它现在可以工作了。
    【解决方案2】:

    您可以使您的文件夹结构如下:

    flaskBlog
     templates
       index.py
     setup.py
     flaskBlog
      __init__.py
      views.py
    

    模板文件夹应与 setup.py 位于同一目录中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 2018-12-02
      • 1970-01-01
      • 2016-09-24
      • 2017-11-03
      • 1970-01-01
      相关资源
      最近更新 更多