登录功能完成:
1、js:设置return
function fnLogin() { var oUname = document.getElementById("uname") var oUpass = document.getElementById("upass") var oError = document.getElementById("error_box") oError.innerHTML="" if (oUname.value.length > 20 || oUname.value.length < 6) { oError.innerHTML = "请输入用户名6-20位字符" isErrer = false return isErrer; }else if ((oUname.value.charCodeAt(0)>=48)&&(oUname.value.charCodeAt(0)<=57)){ oError.innerHTML="用户名首字母必须是字母" isErrer = false return isErrer; }else for(var i=0; i57)&&(oUname.value.charCodeAt(i)<97)||(oUname.value.charCodeAt(i)>122)){ oError.innerHTML="用户名必须为字母或数字"; isErrer = false return isErrer; } } if (oUpass.value.length > 20 || oUpass.value.length < 6) { oError.innerHTML = "请输入密码 6-20位字符" isErrer = false return isErrer; } window.alert("登录成功")}
2、html:设置
form
input
{% extends 'switch.html' %}{ % block logintitle %}欢迎来到登录界面,请登录{% endblock %}{ % block loginhead %}{% endblock %}{ % block loginbody %}
3、py:
-
- @app.route设置methods
- GET
- POST
- 读取表单数据
- 查询数据库
- 用户名密码对:
- 记住用户名
- 跳转到首页
- 用户名密码不对:
- 提示相应错误。
- 用户名密码对:
@app.route('/login/',methods=['GET','POST'])# 跳转登陆,methods定义它有两种请求方式def login(): if request.method == 'GET': return render_template('login.html') else: username = request.form.get('user') password = request.form.get('psw') user = User.query.filter(User.username == username).first() # 判断用户名是否存在 if user: if return redirect(url_for('switch')) else: return '用户名不存在'
session:
- 从`flask`中导入`session`
- 设置`SECRET_KEY`
- 操作字典一样操作`session`:增加用户名`session['username']=`username
from flask import sessionconfig.pyimport osSECRET_KEY = os.urandom(24)session['user'] = username