zoukankan      html  css  js  c++  java
  • 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)
    讨论群:249728408
  • 相关阅读:
    一起学编程(2--认识世界)
    在CentOS 6 中安装 Apache,Mysql, PHP
    JavaScript的代码库
    http get请求获取server返回的应答数据
    Effective C++ 45-48
    通过telent、php深入了解http协议
    UVA 10069 Distinct Subsequences(DP)
    Linux局域网搭建
    iTextSharp之pdfRead(两个文件文本内容的比较,指定页数的pdf截取,水印的添加)
    c#操作pdf文件系列之创建文件
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/15221195.html
Copyright © 2011-2022 走看看