存储数据库位置和凭证变量Python/Flask app
我正在学习构建Python/Flask应用程序的在线教程。在我安装Postgres并弄乱我的数据库之前,我可以从命令行启动我的应用程序,没问题。现在,每次重新启动命令提示符时,我都必须重新定义APP_设置和DATABASE_URL变量。在我细化变量后,应用程序运行良好,但我知道这不是它应该运行的方式。错误如下:存储数据库位置和凭证变量Python/Flask app,python,postgresql,flask,Python,Postgresql,Flask,我正在学习构建Python/Flask应用程序的在线教程。在我安装Postgres并弄乱我的数据库之前,我可以从命令行启动我的应用程序,没问题。现在,每次重新启动命令提示符时,我都必须重新定义APP_设置和DATABASE_URL变量。在我细化变量后,应用程序运行良好,但我知道这不是它应该运行的方式。错误如下: Traceback (most recent call last): File "app.py", line 12, in <module> app.config.fr
Traceback (most recent call last):
File "app.py", line 12, in <module>
app.config.from_object(os.environ['APP_SETTINGS'])
File "C:\envs\acme\lib\os.py", line 423, in __getitem__
return self.data[key.upper()]
KeyError: 'APP_SETTINGS'
下面是我用于app.py和config.py的代码
config.py:
import os
# default config
class BaseConfig(object):
DEBUG = False
SECRET_KEY = 'secret key'
SQLALCHEMY_DATABASE_URI = os.environ['DATABASE_URL']
class DevelopmentConfig(BaseConfig):
DEBUG = True
class ProductionConfig(BaseConfig):
DEBUG = False
app.py
import os
app.config.from_object(os.environ['APP_SETTINGS'])
上述config.py文件中列出的DATABASE_URL变量也是如此。我还收到一个KEYERROR,必须使用“set”重新定义变量,并在下面键入我的用户名和密码:
set DATABASE_URL=postgres://username:password@localhost/discover_flask_dev
我正在使用Windows8和Python2.7。我的环境中安装了以下工具:
Flask==0.10.1
Flask-SQLAlchemy==2.0
Jinja2==2.7.3
MarkupSafe==0.23
SQLAlchemy==0.9.8
Werkzeug==0.9.6
gunicorn==19.1.1
ipython==2.3.0
itsdangerous==0.24
psycopg2==2.5.2
pyreadline==2.0
我假设有一个基本的方法来解决我上面提到的问题。请给我一些建议。谢谢 您的关键问题似乎是“每次重新启动命令提示符时,我都必须重新定义应用程序设置和数据库URL变量” 从中,看起来有两个环境变量命令:SET(在命令窗口关闭时恢复)和SETX(在命令窗口关闭后保持) 而不是
设置数据库\u URL=postgres://username:password@localhost/discover\u flask\u dev
尝试使用setx数据库\u URL”postgres://username:password@localhost/discover\u flask\u dev“
注意稍微不同的语法:SETX使用双引号
”。“
,不使用equals=
我按照你说的做了,也开始使用Git Bash,问题就解决了。谢谢伟大的如果您想表明此答案解决了问题,请单击绿色复选标记接受它。
Flask==0.10.1
Flask-SQLAlchemy==2.0
Jinja2==2.7.3
MarkupSafe==0.23
SQLAlchemy==0.9.8
Werkzeug==0.9.6
gunicorn==19.1.1
ipython==2.3.0
itsdangerous==0.24
psycopg2==2.5.2
pyreadline==2.0