微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

部署到 Heroku 时如何在 Flask 应用程序中加载静态文件?

如何解决部署到 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 settings tab

,

好的,事实证明您可以使用以下命令进入 Heroku Dyno 的 bash(假设您已经推送到 Heroku):

$ heroku run bash

并弄清楚文件系统结构是什么样的。在我的特殊情况下,我的 repo 是在 /app 目录下提供的。所以我需要传递给 DATA_FILE_PATH 环境变量的值的是 /app/data/data.txt

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。