1 前言

最近学习了基于python 的flask web框架,能实现一个简单的登录界面。Flask是一个轻量级的可定微型制框架,使用python编写。其优点是灵活、轻便、安全,能在短时间内完成一个轻量级的网页。虽然Flask”微小”但其极具扩展性且自由,它没有默认使用的数据库和窗口验证工具。

2 实现功能所需要的库

安装flask库

wxid_dtmbr8hu9r5j22

要调用的子模块有request,redirect,render_template,session。

分别作用是:

request:处理请求的机制,

方法有:

request.method:获取前端提交请求方式

request.form:获取form表单中传递过来的值

reques.args:获取url中传递的参数

等等。

redirect:根据路由跳转页面

render_template:找到并返回html页面,默认文件夹是templates如果要更改

是app=Flask(name,template_folder='xxx' )

session:验证登录状态

3 Python代码:

from flask import Flask, request,  redirect, render_template,session
 
 app = Flask(__name__)
 
 app.secret_key='QWERTYUIOP'#对用户信息加密
 
 
 @app.route('/login',methods=['GET',"POST"])#路由默认接收请求方式位POST,然而登录所需要请求都有,所以要特别声明。
 def login():
     if request.method=='GET':
         return  render_template('login.html')
     user=request.form.get('user')
     pwd=request.form.get('pwd')
     if user=='admin' and pwd=='123':#这里可以根据数据库里的用户和密码来判断,因为是最简单的登录界面,数据库学的不是很好,所有没用。
         session['user_info']=user
         return redirect('/index')
     else:
         return  render_template('login.html',msg='用户名或密码输入错误')
 
 
 
 @app.route('/index')
 def index():
     user_info=session.get('user_info')
     if not user_info:
         return redirect('/login')
     return 'hello'
 
 
 
 @app.route('/logout')
 def logout_():
     del session['user_info']
     return redirect('login')
 
 
 
 if __name__ == "__main__":
     app.run()

 

4 HTML代码:

<!DOCTYPE html>
 <html>
 <head>
     <meta  charset="UTF-8">
     <title>用户登录</title>
 </head>
 <body>
     <h1>登录</h1>
     <form  method="post">
         <input type="text"  name="user" >
         <input  type="password" name="pwd" >
         <input  type="submit" name="登录">{{msg}}
     </form>
 </body>
 </html>

5 效果展示

因主要介绍Flsak后台,前端HTML就是用最简的方式。

图片.png 图1运行界面

图片.png 图2登录界面

图片.png 图3 正确密码登录

图片.png 图4登录成功

图片.png 图5错误登录

6 总结

初步认识到的Flask运用之后,将会更深入学习,希望能触及到Flask更深入的应用,实现更多的功能。