赞
踩
#config.py
MYSQL_NAME= ‘root‘MYSQL_PASSWORD= ‘zyms90bdcs‘MYSQL_HOST= ‘xxxx‘MYSQL_POST= ‘3306‘MYSQL_DBNAME= ‘flask_sql‘MYSQL_CHARSET= ‘utf8‘
#SQLALCHEMY_DATABASE_URI = ‘mysql://{}:{}@{}:{}/{}?charset={}‘.format(MYSQL_NAME,MYSQL_PASSWORD,#MYSQL_HOST,MYSQL_POST,#MYSQL_DBNAME,MYSQL_CHARSET)
SQLALCHEMY_DATABASE_URI= ‘mysql://{}:{}@{}:{}/{}‘.format(MYSQL_NAME,MYSQL_PASSWORD,
MYSQL_HOST,MYSQL_POST,
MYSQL_DBNAME)
这是链接数据库文件的配置,如果你在models文件中创建了db表,并进行创建 (shell还是直接路由进行创建) create_all()
#models
importpymysqlfrom flask_sqlalchemy importSQLAlchemy
pymysql.install_as_MySQLdb()
db=SQLAlchemy()definit_db(app):
db.init_app(app)classUser(db.Model):__tablename__ = ‘user‘id= db.Column(db.Integer,primary_key=True,autoincrement=True)
u_name= db.Column(db.String(20),unique=True)
u_id= db.Column(db.Integer,unique=True)
# 创建一个 User 的模型,数据库中创建一个 user 的表
#views.py
from flask importBlueprintfrom App.models importUser, db
blue= Blueprint(‘base1‘,__name__)
@blue.route(‘/create_all/‘)defcreate_all():
db.create_all()return "DB create success"
很容易出现一个问题
sqlalchemy.exc.InternalError: (InternalError) (1049, "Unknown database ‘dome‘") None None
有过学过mysql的都会知道,但基础不好的会遇到.
原因是
create_all()
这个函数只是创建表,并不创建数据
更新还有一个坑
当你开开心心完成了上述操作,再次打开(我的方式)创建表发型又出现问题了
ModuleNotFoundError
ModuleNotFoundError: No module named‘MySQLdb‘
看在明显是mysqldb 出现问题了,但是我们没有包叫mysqldb啊 只有mysql
终于在网上找到 可能是pymysql 出现问题
在models.py文件中 或者配置文件中也行
importpymysql
pymysql.install_as_MySQLdb()
ok
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。