完成登录功能,用session记住用户名
登录功能完成:
1、js:设置return
1 function fnLogin() {
2 var oUname = document.getElementById("uname")
3 var oUpass = document.getElementById("upass")
4
5 var oError = document.getElementById("error_box")
6
7 oError.innerHTML="<br>"
8 if (oUname.value.length > 20 || oUname.value.length < 6) {
9 oError.innerHTML = "请输入用户名6-20位字符"
10 isErrer = false
11 return isErrer;
12 }else if ((oUname.value.charCodeAt(0)>=48)&&(oUname.value.charCodeAt(0)<=57)){
13 oError.innerHTML="用户名首字母必须是字母"
14 isErrer = false
15 return isErrer;
16 }else for(var i=0; i<oUname.value.length;i++){
17 if((oUname.value.charCodeAt(i)<48)||(oUname.value.charCodeAt(i)>57)&&(oUname.value.charCodeAt(i)<97)||(oUname.value.charCodeAt(i)>122)){
18 oError.innerHTML="用户名必须为字母或数字";
19 isErrer = false
20 return isErrer;
21 }
22
23 }
24
25
26
27
28 if (oUpass.value.length > 20 || oUpass.value.length < 6) {
29 oError.innerHTML = "请输入密码 6-20位字符"
30 isErrer = false
31 return isErrer;
32 }
33
34
35 window.alert("登录成功")
36
37 }
2、html:设置
form
input
1 {% extends 'switch.html' %}
2
3 {% block logintitle %}欢迎来到登录界面,请登录{% endblock %}
4 {% block loginhead %}<script type="text/javascript" src="../static/js/login.js"></script>{% endblock %}
5 {% block loginbody %}
6 <form action="{{ url_for('login') }}" method="post">
7 <p id="meto">中国标准时间</p>
8 <script>document.getElementById("meto").innerHTML = Date()</script>
9 <div id="container" style="width: 300px ">
10
11 <div id="header" style=" padding: 0px; line-height: 1.8; color: rgb(128, 0, 0);">"><h2 align="center">登陆界面</h2></div>
12
13 <div id="content">
14
15 <p align="center">用户名:<input id="uname" type="text" name="user" placeholder="请输入账号">
16
17 </p>
18 <p align="center"> 密码 :<input id="upass" type="password" name="psw" placeholder="请输入密码"></p>
19
20 <br>
21 <div id="error_box"><br>
22 </div>
23 <input type="radio" value="stu">学生
24 <input type="radio" value="tea">老师
25 <br>
26
27 <input type="checkbox" value="true">记住密码 <a href="">登陆遇到问题</a><br>
28
29 <p align="center"><button type="submit" onclick="return fnLogin()">登录</button></p>
30    
31
32
33
34 </div>
35
36 <div id="footer" style=" padding: 0px; line-height: 1.8; color: rgb(128, 0, 0);">"><h3 align="center">版权@</h3></div>
37 </div>
38 {% endblock %}
3、py:
@app.route设置methods
GET
POST
读取表单数据
查询数据库
用户名密码对:
记住用户名
跳转到首页
用户名密码不对:
提示相应错误。
1 @app.route('/login/',methods=['GET','POST'])# 跳转登陆,methods定义它有两种请求方式
2 def login():
3 if request.method == 'GET':
4 return render_template('login.html')
5 else:
6 username = request.form.get('user')
7 password = request.form.get('psw')
8 user = User.query.filter(User.username == username).first() # 判断用户名是否存在
9 if user:
10 if
11 return redirect(url_for('switch'))
12 else:
13 return '用户名不存在'
4、session:
- 从`flask`中导入`session`
- 设置`SECRET_KEY`
- 操作字典一样操作`session`:增加用户名`session['username']=`username
1 from flask import session 2 config.py 3 import os 4 SECRET_KEY = os.urandom(24) 5 session['user'] = username


浙公网安备 33010602011771号