SQLAlchemy:"NoneType"对象没有属性"drivername" [英] SQLAlchemy: 'NoneType' object has no attribute 'drivername'

查看:49
本文介绍了SQLAlchemy:"NoneType"对象没有属性"drivername"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将烧瓶应用程序连接到本地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"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆