1 前言
最近学习了基于python 的flask web框架,能实现一个简单的登录界面。Flask是一个轻量级的可定微型制框架,使用python编写。其优点是灵活、轻便、安全,能在短时间内完成一个轻量级的网页。虽然Flask”微小”但其极具扩展性且自由,它没有默认使用的数据库和窗口验证工具。
2 实现功能所需要的库
安装flask库
pip install flask |
---|
要调用的子模块有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() |
---|
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就是用最简的方式。
图1运行界面
图2登录界面
图3 正确密码登录
图4登录成功
图5错误登录
6 总结
初步认识到的Flask运用之后,将会更深入学习,希望能触及到Flask更深入的应用,实现更多的功能。
END
实习主编 | 王楠岚
责 编 | 王自强
能力越强,责任越大。实事求是,严谨细致。
——where2go 团队