SQLAlchemy:“NoneType”对象没有属性“驱动程序名”

我正在尝试将我的烧瓶应用程序连接到我的本地 MySQL 数据库进行测试。我制作了一个烧瓶对象和一个类来表示一个在成功连接后要创建的示例表。


这些是我的项目的本地环境变量:


#.env

LOCAL_MYSQL_URL = mysql://Username:somePassword@127.0.0.1:3306/database_name

这是我的 project_name__init__文件:


#__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'

我正在尝试按照在 stackoverlow 上为类似问题提供的教程和答案来完成这项工作,但到目前为止,它们都没有帮助我。


我在这里想念什么?我的 mysql 驱动程序名称有什么问题?


阿晨1998
浏览 234回答 1
1回答

繁花不似锦

确保 SQLAlchemy URI 在之后类似于此格式pip install pymysqlapp.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://{DB_USERNAME}:{DB_PASSWORD}@localhost:3306/{DB_NAME}'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python