qt 扫描文件夹中的文件_Flask Session保存在文件夹中

034b48386a645eab7616a802e94901fb.png
10299

Flask Session保存在文件夹中

除去保存在数据库中,Session还支持保存在文件中,这里我们保留整个项目的架构,并使用文件来保存session参考代码https://github.com/ningwenyan/demo_code/tree/master/flask_demo_code/T21

1.app.py

保持基本内容不变.

from flask import Flask
import config
from flask_session import Session as Fsession
from flask import session,redirect,url_for,render_template,escape
from formModel import LoginForm
from datetime import timedelta

app = Flask(__name__)
app.config.from_object(config)
Fsession(app)

@app.route('/')
def index():
    if 'username' in session:
        # escape 用来替换html中的16进制特殊符号
        return 'Logged in as {}.Logout'.format(escape(session.get('username')))
    return 'You are not log in Login'

@app.route('/login/', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        #  假设数据库验证通过, 添加 session
        user = form.username.data
        remember = form.remember.data
        session['username'] = user
        print(remember)
        if remember:
            session.permanent = True
            app.config.update({'SESSION_COOKIE_LIFETIME': timedelta(days=30) })
        else:
            session.permanent = False
        return 'success'
    return render_template('login.html')

@app.route('/logout/')
def logout():
    session.clear()
    return redirect(url_for('index'))

if __name__ == '__main__':
    app.run()

2.config.py

更新config.py中的内容,指定保存到文件系统,并指定保存的位置.

import os

DEBUG = True
TEMPLATES_AUTO_RELOAD = True

# 显式关闭CSRF
WTF_CSRF_ENABLED = False

# 指定Session保存类型
SESSION_TYPE = 'filesystem'
SESSION_FILE_DIR = './flask_session'
SESSION_FILE_THRESHOLD = 10 # 默认是500,大于设定值,会自动删除
SESSION_FILE_MODE = 600 # 默认值,文件模式,读写执行
SESSION_PERMANENT = False
SESSION_USE_SIGNER = True # 加密
SECRET_KEY = os.urandom(24) # 设定加密秘
SESSION_KEY_PREFIX= 'session'

默认情况下,保存在当前文件夹下的flask_session中,如果没有这个文件夹,可以创建

mkdir flask_session

3.运行验证

运行app.py

$ python app.py

尝试登录并访问login.html,当登录成功后,可以查看目录中是否有内容

❯ cd flask_session
❯ ls
2029240f6d1128be89ddc32729463129  c6c2fab146ee32903dae14542c25f2f4
72d690441984324e808ad61897999f8e

如果有内容,证明Session已经被保存在文件夹中.

wechat
- END -
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值