本文实例讲述了Python实现的登录验证系统。分享给大家供大家参考,具体如下:
小型登录注册验证系统
一、概述
使用Redis+MySQL数据库实现一个小型的登录注册验证系统。在这个系统中初步了解认识MVC框架。
具备功能:登录、注册、改密、注销。
数据库:Redis,MySQL。使用Redis把用户信息存储在内存中,查询数据快。MySQL存储空间更大,对表之间的关系管理更好。两者结合使用发挥各自的优势已是当下流行的数据库使用方式。
开发语言:Python。
MVC框架:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
二、代码
完整实例代码点击此处本站下载。
GitHub地址:https://github.com/liangdongchang/pyCheckLoginSys.git
1、Init
用来初始化服务:
①、在mysql上新建一个数据库“homework”和建表”t_usr”
②、开启redis服务程序’’’
@author ldc
‘’’
import os
import pymysql
‘’’
初始化服务:
1、在mysql上新建一个数据库“homework”和建表"t_usr"
2、开启redis服务程序
'''
# 建立数据库连接
conn = pymysql.connect(
host='localhost',
user='root',
password="123456",
port=3306
)
# 获取游标
cursor = conn.cursor()
# 创建数据库
dbname = 'homework'
sql='''
create database if not EXISTS %s charset=utf8;
'''%dbname
cursor.execute(sql)
# 使用数据库
cursor.execute('use %s'%dbname)
# 创建表
sql = '''
create table if not EXISTS t_usr(
id INTEGER PRIMARY KEY auto_increment,
username varchar(20) unique not null,
password varchar(20) not null
);
'''
cursor.execute(sql)
# 关闭游标与连接
cursor.close()
conn.close()
# 开启redis服务,新建一个启动redisd.bat文件,
#以后开启redis服务就可以直接打开这个文件了
def openRedisd(path):
rPath = """@echo off
redis-server %s
pause"""%path
with open(r"C:\Users\LDCPC\Desktop\启动redisd.bat","w",encoding="ANSI")
as f:
f.write(rPath)
openRedisd(r"D:\ruanjian\redis-64.2.8.2101\redis.windows.conf")
# 打开文件“启动redisd.bat”
os.popen(r"C:\Users\LDCPC\Desktop\启动redisd.bat")
2、View层
用来与用户交互:接收用户的输入和显示结果给用户。
'''
@author ldc
'''
from controller import urls
from model.model import User
from utils.dbUtil import RedisUtil
'''
需求:登录注册验证
1、登录
2、注册
3、改密
4、注销
'''
# 主界面接口
def index():
while True:
#登录界面
print("****************************