如何解决部署到 Heroku 时如何在 Flask 应用程序中加载静态文件?
我有一个 Flask JSON API 应用程序,它可以读取代码存储库中的文件并显示该文件中的数据。我的申请文件如下:
from flask import Flask,jsonify
from utils import load_data
data = load_data(os.environ.get('DATA_FILE_PATH')) # This would be in data/data.txt for example
app = Flask(__name__)
@app.route('/',methods=['GET'])
def home():
return jsonify(data=data)
当我部署到 Heroku 时,如何设置环境变量以指向该特定数据文件?在本地,我会做
$ export DATA_FILE_PATH=/path/to/repo/data/data.txt
我知道我可以使用 Heroku CLI heroku config:set DATA_FILE_PATH=<path>
,但我不确定如何放置该路径变量,因为我并不真正了解 Heroku 部署的目录结构。
解决方法
,
好的,事实证明您可以使用以下命令进入 Heroku Dyno 的 bash
(假设您已经推送到 Heroku):
$ heroku run bash
并弄清楚文件系统结构是什么样的。在我的特殊情况下,我的 repo 是在 /app
目录下提供的。所以我需要传递给 DATA_FILE_PATH
环境变量的值的是 /app/data/data.txt
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。