问题描述
我正在尝试将烧瓶应用程序连接到本地MySQL数据库进行测试.我已经创建了一个flask对象和一个类,以表示在成功连接后要创建的示例表.
I'm trying to connect my flask application to my local MySQL database for testing. I've made a flask object and a class to represent an example table to be created after a successful connection.
这些是我的项目的本地环境变量:
These are my local env vars for my project:
#.env
LOCAL_MYSQL_URL = mysql://Username:somePassword@127.0.0.1:3306/database_name
这是我的项目名称 __ init __
文件:
This is my project_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()
但是在运行该应用程序后出现以下错误:
However I get the following error after running the app:
if sa_url.drivername.startswith('mysql'):
AttributeError: 'NoneType' object has no attribute 'drivername'
我正在尝试通过以下关于stackoverlow的教程和答案来完成这项工作,以解决类似的问题,但是到目前为止,它们都没有帮助我.
I am trying to make this work following tutorials and answers contributed here on stackoverlow to similar questions, but none of them helped me out so far.
我在这里想念什么?我的mysql驱动程序名称怎么了?
What am I missing here? What's wrong with my mysql driver name?
推荐答案
在 pip install pymysql
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://{DB_USERNAME}:{DB_PASSWORD}@localhost:3306/{DB_NAME}'
这篇关于SQLAlchemy:"NoneType"对象没有属性"drivername"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!