我正在尝试将我的 Flask 应用程序连接到本地 MySQL 数据库进行测试。我创建了一个 Flask 对象和一个类来表示成功连接后创建的示例表。
这些是我的项目的本地环境变量:
#.env
LOCAL_MYSQL_URL = mysql://Username:[email protected] /cdn-cgi/l/email-protection:3306/database_name
这是我的项目名称__init__
file:
#__init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os
ON_HEROKU = 'ON_HEROKU' in os.environ
if ON_HEROKU:
DB_URL = os.environ.get('CLEARDB_DATABASE_URL')
else:
DB_URL = os.environ.get('LOCAL_MYSQL_URL')
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL
app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY')
db = SQLAlchemy(app)
db.create_all()
db.session.commit()
但是,运行应用程序后出现以下错误:
if sa_url.drivername.startswith('mysql'):
AttributeError: 'NoneType' object has no attribute 'drivername'
我正在尝试按照 stackoverflow 上针对类似问题提供的教程和答案来完成这项工作,但到目前为止,它们都没有帮助我。
我在这里缺少什么?我的 mysql 驱动程序名称有什么问题?
确保 SQLAlchemy URI 类似于此格式pip install pymysql
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://{DB_USERNAME}:{DB_PASSWORD}@localhost:3306/{DB_NAME}'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)