config.py 没有发回 DATABASE_URL
config.py did not send back DATABASE_URL
我的config.py:
"""Flask config."""
import os
from dotenv import dotenv_values
basedir = os.path.abspath(os.path.dirname(__file__))
configuration = dotenv_values(".env")
class Config(object):
DEBUG = False
TESTING = False
CSRF_ENABLED = True
SECRET_KEY = os.environ.get('SECRET_KEY')
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
class ProductionConfig(Config):
DEBUG = False
我正在尝试使用另一个 py 文件连接到数据库:
import psycopg2
import xlrd
from config import Config
POSTGRES = Config.SQLALCHEMY_DATABASE_URI
connection = psycopg2.connect(POSTGRES)
cursor = connection.cursor()
但是 POSTRES 是 None
我的 .env 文件在同一个目录中,如下所示:
FLASK_APP=wsgi.py
FLASK_ENV=development
SECRET_KEY=randomstringofcharacters
DATABASE_URL='postgresql://xxx:xxxxx@127.0.0.1:5432/xxxxx'
我的所有文件都在同一目录中。
dotenv_values()
不会对本地环境产生副作用。您需要 load_dotenv()
,这确实需要。
见https://pypi.org/project/python-dotenv/#load-configuration-without-altering-the-environment
我的config.py:
"""Flask config."""
import os
from dotenv import dotenv_values
basedir = os.path.abspath(os.path.dirname(__file__))
configuration = dotenv_values(".env")
class Config(object):
DEBUG = False
TESTING = False
CSRF_ENABLED = True
SECRET_KEY = os.environ.get('SECRET_KEY')
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
class ProductionConfig(Config):
DEBUG = False
我正在尝试使用另一个 py 文件连接到数据库:
import psycopg2
import xlrd
from config import Config
POSTGRES = Config.SQLALCHEMY_DATABASE_URI
connection = psycopg2.connect(POSTGRES)
cursor = connection.cursor()
但是 POSTRES 是 None
我的 .env 文件在同一个目录中,如下所示:
FLASK_APP=wsgi.py
FLASK_ENV=development
SECRET_KEY=randomstringofcharacters
DATABASE_URL='postgresql://xxx:xxxxx@127.0.0.1:5432/xxxxx'
我的所有文件都在同一目录中。
dotenv_values()
不会对本地环境产生副作用。您需要 load_dotenv()
,这确实需要。
见https://pypi.org/project/python-dotenv/#load-configuration-without-altering-the-environment