flask中的session操作(增、删、获取)

#encoding:utf-8
from flask import Flask,session
from datetime import timedelta  #导入过期时间库
import os
'''
1、操作session与操作字典一样
'''
app = Flask(__name__)
app.config ['SECRET_KEY'] = os.urandom(24) #每一次服务器启动后,SECRET_KEY(盐)不一样
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7)  #配置过期时间

@app.route('/')
def add():
    session['username'] = 'zhiliao' #添加session
    session.permanent = True  #过期时间设置,True就会从app.config[PERMANENT_SESSION_LIFETIME]读取值,默认1个月
    return 'add session!'

@app.route('/get/')
def get():
    return session.get('username') #获取session

@app.route('/delete/')
def delete():
    print session.get('username')
    session.pop('username') #删除session
    print session.get('username')
    return 'pop success'
@app.route('/clear')
def clear():
    print session.get('username')
    session.clear() #清除所有session
    print session.get('username')
    return 'clear success'


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


'''
操作session:
1、session的操作方式:
    *使用session需要从flask中导入session,以后所有和session相关的操作都是通过这个变量来的
    *使用session需要设置SECRET_KEY,用来作为加密用的,并且这个SECRET_KEY如果每次服务器启动后都变化的话
    那么之前的session就不能通过当前这个SECRET_KEY进行解密了
    *操作session的时候,跟操作字典是一样的
    *添加session:session['username']
    *删除:session.pop('username')或者del session[username]
    *清除所有session:session。clear()
    *获取session:session.get('username')
'''
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用 Flask 和 SQLAlchemy 进行数据库改查操作的示例代码: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) @app.route('/create_user', methods=['POST']) def create_user(): new_user = User(name='John') db.session.add(new_user) db.session.commit() return 'User created successfully' @app.route('/update_user/<int:user_id>', methods=['POST']) def update_user(user_id): user = User.query.get(user_id) if user: user.name = 'New Name' db.session.commit() return 'User updated successfully' else: return 'User not found' @app.route('/delete_user/<int:user_id>', methods=['POST']) def delete_user(user_id): user = User.query.get(user_id) if user: db.session.delete(user) db.session.commit() return 'User deleted successfully' else: return 'User not found' @app.route('/get_user/<int:user_id>', methods=['GET']) def get_user(user_id): user = User.query.get(user_id) if user: return f'User ID: {user.id}, Name: {user.name}' else: return 'User not found' if __name__ == '__main__': app.run() ``` 在上述示例代码,我们定义了一个 `User` 模型类,它映射到数据库的用户表。我们通过路由来定义不同的操作,包括创建用户、更新用户、除用户和获取用户。 - `/create_user` 路由用于创建新用户。我们创建一个新的 `User` 对象,将其添加到 `db.session` ,然后调用 `db.session.commit()` 提交更改到数据库。 - `/update_user/<int:user_id>` 路由用于更新用户。我们通过 `User.query.get(user_id)` 查询到要更新的用户对象,然后修改其属性并提交更改到数据库。 - `/delete_user/<int:user_id>` 路由用于除用户。我们通过 `User.query.get(user_id)` 查询到要除的用户对象,然后调用 `db.session.delete(user)` 并提交更改到数据库。 - `/get_user/<int:user_id>` 路由用于获取用户信息。我们通过 `User.query.get(user_id)` 查询到指定的用户对象,并返回其属性。 请注意,上述示例的 `your_database_uri` 部分需要替换为实际的数据库连接 URI。另外,这只是一个简单的示例,实际的应用可能需要更复杂的逻辑和错误处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值