完成登录功能,用session记住用户名
Posted 陌上寻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完成登录功能,用session记住用户名相关的知识,希望对你有一定的参考价值。
登录功能完成:
- js:设置return
- html:设置
- form
- input
- py:
- @app.route设置methods
- GET
- POST
- 读取表单数据
- 查询数据库
- 用户名密码对:
- 记住用户名
- 跳转到首页
- 用户名密码不对:
- 提示相应错误。
- 用户名密码对:
session:
- 从`flask`中导入`session`
- 设置`SECRET_KEY`
- 操作字典一样操作`session`:增加用户名`session[‘username‘]=`username
登录功能完成:
1 @app.route(‘/login/‘, methods=[‘GET‘, ‘POST‘]) 2 def login(): 3 if request.method == ‘GET‘: 4 return render_template("login.html") 5 else: 6 username = request.form.get(‘username‘) 7 password = request.form.get(‘password‘) 8 user = User.query.filter(User.username == username).first() 9 if user: 10 if user.password == password: 11 return redirect(url_for(‘myweb‘)) 12 else: 13 return ‘密码错误‘ 14 else: 15 return ‘用户名不存在‘
1 <div class="logo_box"> 2 <h3 style="text-align: center">欢迎你</h3> 3 <form action="{{ url_for(‘login‘) }}" method="post"> 4 <div class="input_outer"> 5 <span class="u_user"></span> 6 <input id="uname" class="text" style="color: wheat" type="text" placeholder="请输入账号" name="username"> 7 </div> 8 <div class="input_outer"> 9 <span class="us_uer"></span> 10 <input id="upass" class="text" style="color:wheat ; position:absolute; z-index:100;" 11 value="" type="password" placeholder="请输入密码" name="password"> 12 </div> 13 <div class="errorText" id="error_box" style="color: red"><br></div> 14 <div> 15 <button onclick="return fnLogin()" class="lb1" style="color:black">登录</button> 16 </div> 17 </form> 18 </div>
session:
1 import os 2 DEBUG = True 3 4 SECRET_KEY = os.urandom(24) 5 6 DIALECT = ‘mysql‘ 7 DRIVER = ‘mysqldb‘ 8 USERNAME = ‘root‘ 9 PASSWORD = ‘ROOT‘ 10 HOST = ‘127.0.0.1‘ 11 DATABASE = ‘mytest‘ 12 13 14 SQLALCHEMY_DATABASE_URI = ‘mysql+pymysql://root:@127.0.0.1:3306/mytest?charset=utf8‘ 15 SQLALCHEMY_TRACK_MODIFICATIONS = False
以上是关于完成登录功能,用session记住用户名的主要内容,如果未能解决你的问题,请参考以下文章