请问部署的时候如何把PostgreSQL服务器运行的URL设成环境变量DATABASE_URL的值呢
用.env
和dotenv
。
pipenv install python-dotenv
类似这样:
# .env
DATABASE_URL = 'DATABASE_URL'
# setting.py
import os
class Config(object):
DATABASE_URL = os.getenv('DATABASE_URL', 'default DATABASE_URL')
pipenv shell
和flask run
启动的时候会自动加载.env
环境变量。
如果是用gunicorn等其他方式启动,.env好像不会被读取(不确定)。也许也可以使用实例文件夹覆盖的方式读取app.config.from_pyfile(‘路径’)的方式。也许还可以创建app.cli.command的命令,在运行web前先设置URL为环境变量。
linux中设置环境变量的方式一般是在用户的.bashrc内设置export,如果有root权限,可以在/etc/profile下设置。
小白,错了请轻喷