如何使用不同目录中的 flask render_template
How do I use flask render_template from a different directory
我需要一些帮助。让我解释一下我的情况。我们假设主要的 flask 项目在 ~/project 中作为示例。现在目录结构看起来像
- main.py
- 模板
模板内部有 index.html。这是一个标准项目。
现在,如果我在 ~ 里面并且我 运行 命令
python project/main.py
然后我遇到一个问题,说 Flask 找不到 index.html 作为模板。我假设解决方案涉及使用 OS 模块。不过我不确定。
我的 main.py 代码如下所示
from flask import Flask,render_template
app = Flask('app')
@app.route('/')
def main():
return render_template("index.html")
app.run(host='0.0.0.0', port=8080)
如果我在项目目录中,这很好用。但如果我不在其中就不会
有人可以帮忙吗?
更新:使用 python3 而不是 python 是行不通的。
您尝试过 FLASK_APP=project/main flask run
主目录吗?
我找到了答案。分享给大家。
template_dir = os.path.abspath('~/project/templates')
app = Flask('app',template_folder=template_dir)
这是模板文件夹的存储位置。这个位置是静态的。无论您来自哪里运行。
我需要一些帮助。让我解释一下我的情况。我们假设主要的 flask 项目在 ~/project 中作为示例。现在目录结构看起来像
- main.py
- 模板
模板内部有 index.html。这是一个标准项目。 现在,如果我在 ~ 里面并且我 运行 命令
python project/main.py
然后我遇到一个问题,说 Flask 找不到 index.html 作为模板。我假设解决方案涉及使用 OS 模块。不过我不确定。
我的 main.py 代码如下所示
from flask import Flask,render_template
app = Flask('app')
@app.route('/')
def main():
return render_template("index.html")
app.run(host='0.0.0.0', port=8080)
如果我在项目目录中,这很好用。但如果我不在其中就不会
有人可以帮忙吗?
更新:使用 python3 而不是 python 是行不通的。
您尝试过 FLASK_APP=project/main flask run
主目录吗?
我找到了答案。分享给大家。
template_dir = os.path.abspath('~/project/templates')
app = Flask('app',template_folder=template_dir)
这是模板文件夹的存储位置。这个位置是静态的。无论您来自哪里运行。