【Python】Web学习笔记_flask(6)——会话&session对象

处理利用cookie来判断用户登录外,也可以使用session来判断用户是否登录

html代码和cookie对象的设置相同

python 复制代码
from flask import Flask,request,render_template,make_response,session,url_for,redirect

app=Flask(__name__)
app.secret_key='ps1234567890'
@app.route('/')
def index():
    #判断cookie是否存在
    if session.get('logged_in'):
        return '欢迎来到首页'
    else:
        return '请先登录'

@app.route('/login',methods=['GET','POST'])
def login():
    #验证表单数据
    if request.method=='POST':
        username=request.form['username']
        password=request.form['password']
        if username=='mrsoft' and password=='psword':
            #如果用户名和密码正确,写入cookie
            session['logged_in']=True
            return redirect(url_for('index'))
    return render_template('login.html')

@app.route('/logout')
def logout():
    session.pop('logged_in')
    return redirect(url_for('login'))

if __name__=='__main__':
    app.run(
        debug=True
        ,port=8000
    )
相关推荐
❀͜͡傀儡师6 小时前
通过npm 手动安装、Docker 部署 OpenClaw小龙虾
前端·docker·npm
Storynone6 小时前
【Day28】LeetCode:509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
python·算法·leetcode
前端AI充电站6 小时前
Google 开始卷价格了:Gemini 3.1 Flash-Lite,会不会把 AI 应用成本真的打下来?
前端·人工智能
guts3506 小时前
使用python里的OpenCV包做简单的车道线检测
人工智能·python·opencv
风止何安啊6 小时前
数字太长看花眼?一招教它排好队:千分位处理的实现
前端·javascript·面试
leaves falling6 小时前
数据结构-堆学习
java·数据结构·学习
沙包大的拳头6 小时前
扩展运算符无法克隆 getBoundingClientRect() 获取的值
前端·javascript
峥嵘life6 小时前
Android16 EDLA【CTS】CtsConnectivityMultiDevicesTestCases存在fail项
android·学习
忆江南6 小时前
# Flutter 语音房礼物下载方案(完整版)
前端