我正在从uwsgi文件中的env变量中读取DATABASE_URL。我的django ORM连接正在使用密码%,但是当我尝试连接sqlalchemy时,它无法正常工作。
from sqlalchemy import orm, create_engine, MetaData
from app.settings import DATABASES
from urllib import quote_plus
con = "mysql+pymysql://{0}:{1}@{2}:{3}/{4}".format(
DATABASES['default']['USER'],
DATABASES['default']['PASSWORD'],
DATABASES['default']['HOST'],
DATABASES['default']['PORT'],
DATABASES['default']['NAME']
)
engine = create_engine(
con,
echo=False,
pool_recycle=1800,
max_overflow = 250,
pool_size=200
)
我甚至试过quote_plus
但它没有奏效。
这不起作用
mysql+pymysql://api:@>J.6D%qhZ@localhost:3306/table_tmp
这适用于
mysql+pymysql://api:@>J.6DqhZ@localhost:3306/table_tmp
当我通过ipython使用与%相同的密码时,它可以工作,但是通过uwsgi.ini文件中的env变量,它不会