部署时如何把PostgreSQL服务器运行的URL设成环境变量DATABASE_URL的值


#1

请问部署的时候如何把PostgreSQL服务器运行的URL设成环境变量DATABASE_URL的值呢


#2

.envdotenv

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 shellflask run启动的时候会自动加载.env环境变量。


#3

如果是用gunicorn等其他方式启动,.env好像不会被读取(不确定)。也许也可以使用实例文件夹覆盖的方式读取app.config.from_pyfile(‘路径’)的方式。也许还可以创建app.cli.command的命令,在运行web前先设置URL为环境变量。
linux中设置环境变量的方式一般是在用户的.bashrc内设置export,如果有root权限,可以在/etc/profile下设置。
小白,错了请轻喷:rofl: