pymysql 连接 MySQL 实现简单登录

根据前两篇文章 , 已经可以利用 Flask 实现简单的路由访问 , 接下来结合 mysql 实现简单的登录 。
新建一个名为 python_test 的数据库 ,添加 user 表CREATE DATABASE /*!32312 IF NOT EXISTS*/`python_test` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */;USE `python_test`;/*Table structure for table `user` */DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(10) DEFAULT NULL,`password` varchar(10) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;/*Data for the table `user` */insertinto `user`(`id`,`name`,`password`) values (1,'admin','123456'),(5,'oppo','456789'),(6,'vivo','987654'),(7,'huawei','');12345678910111213141516171819文件结构如下所示
pymysql 连接 MySQL 实现简单登录文章插图
新建登陆页面 index.html登录

姓名:
密码:

新建登陆成功页面 success.html首页欢迎你{{name}}退出登录
新建 user_model.py 实体类和数据库 user 表对应class User:i_d = 0name = ''password = ''def __init__(self, i_d, name, password):self.id = i_dself.name = nameself.password = password新建 user_mysql.py 连接查询数据库
import pymysqldef get_by_name(name):conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='python_test', charset='utf8')cursor = conn.cursor()sql = "select * from user where name='%s'" % name# sql = "select * from user"cursor.execute(sql)results = format_data(cursor.description, cursor.fetchall())cursor.close()conn.close()return results# 数据格式化 fields 字段名 , result 结果集def format_data(fields, result):# 列字段数组 格式['id', 'name', 'password']field = []for i in fields:field.append(i[0])# 返回的数组集合 格式[{'id': 1, 'name': 'admin', 'password': '123456'}]results = []for res in result:line_data = http://kandian.youth.cn/index/{}for index in range(0, len(field)):line_data[field[index]] = res[index]results.append(line_data)return results新建 user_dao 处理登录业务逻辑import user_mysql, user_modeldef login_dao(name, password):if len(user_mysql.get_by_name(name)) > 0:res = user_mysql.get_by_name(name)[0]user = user_model.User(i_d=res['id'], name=res['name'], password=res['password'])if user.name == name and user.password == password:return 1else:return '密码错误'return '用户名不存在'新建 user_dao 处理登录业务逻辑import user_mysql, user_modeldef login_dao(name, password):if len(user_mysql.get_by_name(name)) > 0:res = user_mysql.get_by_name(name)[0]user = user_model.User(i_d=res['id'], name=res['name'], password=res['password'])if user.name == name and user.password == password:return 1else:return '密码错误'return '用户名不存在'以上代码都是一些简单逻辑就不过多解释了 , 下面运行测试
【pymysql 连接 MySQL 实现简单登录】运行 user_controller.py 文件
pymysql 连接 MySQL 实现简单登录文章插图
浏览器打开网址:
pymysql 连接 MySQL 实现简单登录文章插图
测试登录---->登陆成功
pymysql 连接 MySQL 实现简单登录文章插图
测试登录---->登陆失败
pymysql 连接 MySQL 实现简单登录文章插图
pymysql 连接 MySQL 实现简单登录文章插图
如上 , 就简单实现了 Flask + pymysql 简单登录 。
简单吧 。 完整代码后台私信小编01获取!