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
文件结构如下所示
文章插图
新建登陆页面 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 文件
文章插图
浏览器打开网址:
文章插图
测试登录---->登陆成功
文章插图
测试登录---->登陆失败
文章插图
文章插图
如上 , 就简单实现了 Flask + pymysql 简单登录 。
简单吧 。 完整代码后台私信小编01获取!
- 部长|工信部副部长:中国移动物联网连接数超10.8亿
- UWB|不得不知的汽车连接技术
- 纽带|高瓴资本:全面布局智能制造,做连接新经济与传统行业的纽带
- 连接未来的互联网,遗忘了“过去”?未来我们也同样会被遗忘
- mysql 8.0.21 安装配置方法图文教程
- SpringBoot+MyBatis+MySQL读写分离实现
- Mysql不止CRUD,聊聊索引
- HDMI 2.1认证测试必须搭载HDMI许可的Cat3连接器
- 详解mysql执行计划
- 专注远程控制行业,5G时代向日葵用远控连接世界