一、web框架介绍
目前比较流行的python web框架:django、bottle、Flask、Tornado、Snaic、FastAPI、Quart、aiohttp、pyramid等等。
个人常用框架主要有:bottle、Flask、Snaic、FastAPI、django。主要原因是抛开异步非阻塞的原因,bottle的性能还是非常可观的,非常适合接口开发,后期因为一些项目对于更高性能的要求,所以我选择使用sanic或者fastapi。
据:
https://studygolang.com/articles/27650
博客中介绍到sanic的性能更加优于fastapi,所以我跟风选择sanic
二、安装第三方库配置
pip install sanic==21.6.0
pip install sanic_cors
三、配置代码
from sanic import Sanic
from sanic.response import redirect
from sanic.exceptions import NotFound
from apps.jinja2_Template import jinja, html, static_render, json
from sanic_cors import CORS
from settings import config
import uvicorn
import asyncio, sys
app = Sanic(__name__, strict_slashes=True)
# app.static('/static', './static')
CORS(app)
# 添加蓝图路由插件,动态管理网站
from apps.views import *
app.blueprint(view)
# 监听流量路由
# @app.middleware('request')
# async def print_on_request(request):
# try:
# req = request.headers
# # print(req)
# host = req.get('remote-host')
# agent = req.get('user-agent')
# referer = req.get('referer')
# c_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# query = "?" + request.query_string if request.query_string else &