假面的假面 发表于 2021-11-10 22:45:02

flask框架下使用Blueprint后无法找到渲染模板,求大神指点

app.py文件代码:
from apps import create_app

app = create_app()
app.run()


apps包文件__init__.py文件代码:
from flask import Flask
import settings
from apps.users.view import user


def create_app():
    app = Flask(__name__)
    app.config.from_object(settings)
    app.register_blueprint(user)
    return app


users包内view.py文件:
from flask import Blueprint, render_template

user = Blueprint('user', __name__)


@user.route('/')
def user_center():
    return render_template('1.html')


文件目录构成:

根目录
│app.py
│settings.py
├─apps
││__init__.py
││
│└─users
│         │   view.py
│         │    __init__.py

├─static
└─templates
      │1.html


不使用Blueprint蓝图方式创建flask对象的话template内的模板文件是可以找到并且能正常显示的。但是使用蓝图方式创建flask实例后就会出现TemplateNotFound: 1.html的报错信息。提示无法找到模板文件。不晓得问题是出在哪里。求熟悉flask框架的大神指点。

suchocolate 发表于 2021-11-10 23:24:45

据说templates得在包里:https://www.zhihu.com/question/334493401
https://flask.palletsprojects.com/en/1.1.x/quickstart/#rendering-templates

假面的假面 发表于 2021-11-10 23:30:53

suchocolate 发表于 2021-11-10 23:24
据说templates得在包里:https://www.zhihu.com/question/334493401
https://flask.palletsprojects.com/e ...

templates已经是跟我的app.py同目录状态了。如果说必须在包里那应该是app包内还是应该在users包内?不过我都拉过去试了。还是报错。。。

suchocolate 发表于 2021-11-10 23:36:22

假面的假面 发表于 2021-11-10 23:30
templates已经是跟我的app.py同目录状态了。如果说必须在包里那应该是app包内还是应该在users包内?不过 ...

apps内,和users同级

假面的假面 发表于 2021-11-11 19:40:20

suchocolate 发表于 2021-11-10 23:36
apps内,和users同级

尝试了。没有效果。
页: [1]
查看完整版本: flask框架下使用Blueprint后无法找到渲染模板,求大神指点