前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|Flask实现登录功能

Python|Flask实现登录功能

作者头像
算法与编程之美
发布2020-09-24 10:56:01
6.4K0
发布2020-09-24 10:56:01
举报

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 团队

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档