Sanic二十九:Sanic 扩展之sanic-session的使用
2021/9/2 23:06:42
本文主要是介绍Sanic二十九:Sanic 扩展之sanic-session的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
与flask一样,sanic也有一些自己的扩展,虽然生态不够强大,但基本使用足够了
sanic_session:用于保持会话,当用户的过后,可以将用户数据存到sanic_session里面,以后就可以从sanic_session里面取用户信息,判断用户是否登录过了
sanic_session官方文档:https://sanic-session.readthedocs.io/en/latest/
安装:pip install sanic_session
sanic_session提供了很多个模块,基本都是和一些内存数据库之间的交互信息的处理,这些很少使用,讲点实际的
使用sanic_session
未绑定状态:app.ctx是一个空对象
绑定后:app.ctx会有一个名为session的字典
后面就可以把想要共享或者储存的数据都存在这个session中,要用的时候取出来即可
from sanic import Sanic, response from sanic.views import HTTPMethodView from sanic_session import Session app = Sanic(__name__) Session(app) class UserView(HTTPMethodView): async def get(self, request): """ 检查登录状态 """ user = request.ctx.session.get(request.args.get('user_name')) if user: return response.json({'code': 200, 'message': '用户已登录', 'user': user}) return response.json({'code': 400, 'message': '用户未登录', 'user': user}) async def post(self, request): """ 模拟登录 """ request.ctx.session[request.json.get('user_name')] = request.json return response.json({'code': 200, 'message': '登录成功'}) app.add_route(UserView.as_view(), '/user') if __name__ == '__main__': import uvicorn uvicorn.run('test:app', host='0.0.0.0', port=8000, debug=True)
这篇关于Sanic二十九:Sanic 扩展之sanic-session的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版