#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 import pymysql from flask_sqlalchemy import SQLAlchemy pymysql.install_as_MySQLdb() db = SQLAlchemy() def init_db(app): db.init_app(app) class User(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 import Blueprint from App.models import User, db blue = Blueprint(‘base1‘,__name__) @blue.route(‘/create_all/‘) def create_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文件中 或者配置文件中也行
import pymysql pymysql.install_as_MySQLdb()
ok
原文地址:https://www.cnblogs.com/zengxm/p/11129864.html
时间: 2024-10-31 01:56:46