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
│ │