sanic自定义token认证 session cache

本文档记录了使用Sanic框架时遇到的问题及解决方案,包括blueprint的使用,HTML模板(结合Jinja2)的编写,session管理(通过sanic_session),缓存(借助aiocache和Redis),API接口的Token验证,以及防止恶意域名绑定的处理方法。
摘要由CSDN通过智能技术生成

      

1.前言

在使用过程中,我尽量将程序编写成异步的,首先进行安装:

python -m pip install sanic

sanic的文档写得很详细,但是在使用过程中我还是有些问题。
下面记录的都是我在使用sanic过程中遇到的问题,后续有新问题会继续补充:

  • 1.blueprint
  • 2.html templates编写(引入jinja2)
  • 3.session(引入sanic_session)
  • 4.缓存(引入aiocache)
  • 5.api接口验证(自定义一个装饰器)
  • 6.恶意将其他域名绑定到你的网站独立ip

2.问题记录

2.1.blueprint

借用官方文档的例子,一个简单的sanic服务就搭好了:

# main.py
from sanic import Sanic
from sanic.response import json

app = Sanic()

@app.route("/")
async def test(request):
    return json({"hello": "world"})

#访问http://0.0.0.0:8000/即可
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

上面的例子可以当做一个完整的小应用,关于blueprint的概念,可以这么理解,一个蓝图可以独立完成某一个任务,包括模板文件,静态文件,路由都是独立的,而一个应用可以通过注册许多蓝图来进行构建。
比如我现在编写的项目,我使用的是功能式架构,具体如下:

├── server.py
├── static
│   └── novels
│       ├── css
│       │   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值