用户:杨医生查看:20 回复:5 评论:20 创建时间:2020-07-22T16:40:49
必须少于20节课,10岁以下(因为如果比我大有的会嫌弃我)
from flask import Flask, render_template, request
import pymongo
import hashlib
# 创建Flask对象app
app = Flask(__name__)
'''
--------与注册有关的路由--------
/register 访问注册页面
/register_check 处理注册表单,实现注册功能
'''
# 路由:访问“注册页面”
@app.route('/register')
def register():
return render_template('register.ht.ml')
# 路由:处理注册表单,将注册用户存入数据库
@app.route('/register_check', methods=['POST'])
def register_check():
username = request.form['username']
password = request.form['password']
user_list = find_user({'username': username})
if len(user_list) == 0:
pwd = encrypt(password)
user = {'username': username, 'password': pwd}
insert_user(user)
return '注册成功,<a href="/login">马上登录</a>'
else:
return render_template('register.ht.ml',
t_username=username,
t_error='用户名已经存在')
'''
--------与登录有关的路由--------
/login 访问登录页面
/login_check 处理登录表单,实现登录功能
'''
# 路由:访问“登录页面”
@app.route('/login')
def login():
return render_template('login.ht.ml')
# 路由:处理登录表单,实现登录功能
@app.route('/login_check', methods=['POST'])
def login_check():
# 获取登录表单提交的数据(用户名和密码)
username = request.form['username']
password = request.form['password']
user_list = find_user({'username': username})
if len(user_list) != 0:
pwd = encrypt(password)
user_list = user_list[1]
user_list = user_list['password']
if user_list == pwd:
return '登录成功,<a href="#">进入网页</a>'
else:
return render_template('login.ht.ml',
t_password=password,
t_username=username,
t_error='用户名或密码貌似出错了,请修改后提交')
else:
return render_template('login.ht.ml',
t_password=password,
t_username=username,
t_error='用户名不存在')
'''
--------与登录、注册有关的自定义函数--------
insert_user() 将注册用户数据存入数据库
find_user() 根据条件查找注册用户信息
encrypt() 对密码进行加密
'''
# 函数:将注册用户数据存入数据库
def insert_user(user):
client = pymongo.MongoClient("mongodb://localhost:27017")
db_user = client['db_user']
c_user = db_user['user']
c_user.insert_one(user)
# 函数:根据指定条件查找注册用户信息
def find_user(condition):
client = pymongo.MongoClient("mongodb://localhost:27017")
db_user = client['db_user']
c_user = db_user['user']
res = c_user.find(condition)
user_list = []
for item in res:
user_list.append(item)
return user_list
# 使用M.D.5对密码进行加密
def encrypt(password):
pwd = hashlib.m.d.5(password.encode(encoding='UTF-8')).hexdigest()
return pwd
if __name__ == '__main__':
app.run(port=5001)
点赞0
评论