flask实现用户注册和登录功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask实现用户注册和登录功能相关的知识,希望对你有一定的参考价值。
参考技术A 文件路径:到这里,用户的注册功能就实现了
Flask使用Python Web轻量级框架Flask实现登录功能
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()
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就是用最简的方式。
图1运行界面
图2登录界面
图3 正确密码登录
图4登录成功
图5错误登录
以上是关于flask实现用户注册和登录功能的主要内容,如果未能解决你的问题,请参考以下文章
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑——使用Flask-Login库实现登录功能