Python 导出烧瓶配置=';发展';论赫罗库
在我的flask应用程序中,我运行命令Python 导出烧瓶配置=';发展';论赫罗库,python,heroku,flask,Python,Heroku,Flask,在我的flask应用程序中,我运行命令export flask\u CONFIG='development' 在本地运行应用程序。但是现在在heroku中,当我运行命令heroku run init时,得到一个错误,我知道我应该导入export FLASK\u CONFIG='development,但是在heroku中该怎么做呢 错误: (venv)peg@peg:~/Fast-monks$ heroku run python manage.py shell Running `python m
export flask\u CONFIG='development'
在本地运行应用程序。但是现在在heroku中,当我运行命令heroku run init
时,得到一个错误,我知道我应该导入export FLASK\u CONFIG='development,但是在heroku中该怎么做呢
错误:
(venv)peg@peg:~/Fast-monks$ heroku run python manage.py shell
Running `python manage.py shell` attached to terminal... up, run.6078
postgres://fboastbcwkwdsa:bIrdHsid_Zv3GOzyrhCB9x1oig@ec2-174-129-1-179.compute-1.amazonaws.com:5432/dfg3hpuotv5lal
postgres://fboastbcwkwdsa:bIrdHsid_Zv3GOzyrhCB9x1oig@ec2-174-129-1-179.compute-1.amazonaws.com:5432/dfg3hpuotv5lal
Traceback (most recent call last):
File "manage.py", line 9, in <module>
app = create_app(os.environ['FLASK_CONFIG'] or 'default')
File "/app/.heroku/python/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'FLASK_CONFIG'
WARNING: Toolbelt v3.28.4 update available.
config.py:
class Config(object):
DEBUG = False
SECRET_KEY = 'Thisismysecretkey'
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL',
'postgresql+psycopg2://peg:1234@localhost/app')
print SQLALCHEMY_DATABASE_URI
class HerokuConfig(ProductionConfig):
def init_app(cls, app):
ProductionConfig.init_app(app)
import logging
from logging import StreamHandler
file_handler = StreamHandler()
file_handler.setLevel(logging.WARNING)
app.logger.addHandler(file_handler)
config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'production': ProductionConfig,
'heroku': HerokuConfig,
'default': DevelopmentConfig}
您应该通过
heroku
命令设置环境变量:
heroku config:set FLASK_CONFIG=development
尽管manage.py看起来是错误的,但您似乎试图设置一个默认值,以防var不存在,但在到达默认值之前,会引发keyerror。改用这个:
app = create_app(os.environ.get('FLASK_CONFIG', 'default'))
app = create_app(os.environ.get('FLASK_CONFIG', 'default'))