项目介绍
这是一个融合了Bootstrap+Jquery+flask三种前端框架的项目,实现了从注册到登录的全过程。
项目运行截图
注册界面(register.html)
登录界面(login.html)
开始界面(start.html)
项目文件概览
该项目一共有7个文件,除去主文件外,分为页面文件和配置文件
项目文件详解
页面文件
start.html
.center{
text-align: center;
}
<Hello world! wellcome to my world!>
这是一个学习网站
项目的主页面
login.html
integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
.account {
width: 500px;
height: 350px;
border: 1px solid #dddddd;
border-radius: 7px;
margin-left: auto;
margin-right: auto;
margin-top: 200px;
padding: 10px 50px;
box-shadow: 5px 5px 5px #aaaaaa;
/*display: flex;*/
}
.account h2 {
text-align: center;
}
/*.f1{*/
/* margin-left: auto;*/
/* margin-right: auto;*/
/* !*margin-top: auto;*!*/
/*}*/
.f1 {
width: 100px;
text-align: center;
}
用户登录
document.querySelector('form').addEventListener('submit', function (event) {
event.preventDefault(); // 阻止表单默认提交行为
// 这里可以添加服务器端验证和登录逻辑
// 假设登录成功
if (loginSuccess) {
$('#loginSuccessModal').modal('show');
alert('登录成功!')
event.
} else {
// 显示错误消息
alert('登录失败,请重试!');
}
});
登录页面
register.html
integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
.account {
width: 500px;
height: 350px;
border: 1px solid #dddddd;
border-radius: 7px;
margin-left: auto;
margin-right: auto;
margin-top: 200px;
padding: 10px 50px;
box-shadow: 5px 5px 5px #aaaaaa;
}
.account h2 {
text-align: center;
}
/*.f1 {*/
/* margin-left: auto;*/
/* margin-right: auto;*/
/* !*margin-top: auto;*!*/
/*}*/
.f1 {
width: 100px;
text-align: center;
}
用户注册
注册页面
配置文件
login.py(主程序代码)
from flask import Flask,render_template
from flask import redirect
from flask import url_for
from flask import request
from model.check_login import is_existed,exist_user,is_null
from model.check_regist import add_user
app=Flask(__name__)
@app.route('/')
def index():
return redirect(url_for('user_login'))
@app.route('/user_login', methods=['GET','POST'])
def user_login():
if request.method=='POST':
username = request.form['username']
password = request.form['password']
if is_null(username,password):
login_massage = "温馨提示:账号和密码是必填"
return render_template('login.html', message=login_massage)
elif is_existed(username, password):
login_massage = "恭喜!登录成功!"
return render_template('start.html', username=username,message=login_massage,loginSuccess = True)
elif exist_user(username):
login_massage = "温馨提示:密码错误,请输入正确密码"
return render_template('login.html', message=login_massage)
else:
login_massage = "温馨提示:不存在该用户,请先注册"
return render_template('register.html', message=login_massage)
return render_template('login.html')
@app.route('/register', methods=['GET','POST'])
def register():
if request.method=='POST':
username = request.form['username']
password = request.form['password']
if is_null(username, password):
login_massage = "温馨提示:账号和密码是必填"
return render_template('register.html', message=login_massage)
elif exist_user(username):
login_massage = "温馨提示:用户已存在,请直接登录"
# return redirect(url_for('user_login'))
return render_template('login.html', message=login_massage)
else:
add_user(request.form['username'], request.form['password'])
return render_template('login.html', username=username)
return render_template('register.html')
if __name__=='__main__':
app.run()
此代码为该项目的核心代码为登录注册的功能实现的代码
check_login.py(配置文件——校验登录程序)
from mainproject.templates.config import *
cur = conn.cursor()
def is_null(username,password):
if(username==''or password==''):
return True
else:
return False
#判断账户密码是否匹配
def is_existed(username,password):
sql="SELECT * FROM info WHERE username ='%s' and password ='%s'" %(username,password)
conn.ping(reconnect=True)
cur.execute(sql)
conn.commit()
result = cur.fetchall()
if (len(result) == 0):
return False
else:
return True
def exist_user(username):
sql = "SELECT * FROM info WHERE username ='%s'" % (username)
conn.ping(reconnect=True)
cur.execute(sql)
conn.commit()
result = cur.fetchall()
if (len(result) == 0):
return False
else:
return True
判断用户提交状态,是否为空,是否用户已存在,账户密码是否匹配
check_register.py(配置文件——用户注册程序)
from mainproject.templates.config import *
cur = conn.cursor()
def add_user(username, password):
# sql commands
sql = "INSERT INTO info(username, password) VALUES ('%s','%s')" %(username, password)
# execute(sql)
cur.execute(sql)
# commit
conn.commit() # 对数据库内容有改变,需要commit()
conn.close()
此程序的功能就是给数据库添加用户
config.py(配置文件——数据库连接配置)
#数据库连接配置
import pymysql
conn = pymysql.connect(
host='localhost',user='root',password='123',charset='utf8',db='unicom'
)
后续优化中的问题
主函数登录成功之后,置loginSuccess = True
loginSuccess = True之后执行JS代码,显示此弹窗
弹窗的html代码
原本是想实现登录的之后会有弹窗提醒“登录成功”和“登录失败”但是自己写的JS并没有生效,大家如果有优化成功的,也可以分享在评论区,谢谢!
项目源文件
https://gitcode.net/2201_75467981/login_project/-/tree/master/main_project
好文阅读
发表评论