sanic(1):创建app

  • 2019 年 11 月 21 日
  • 筆記

前言

sanic是一个非常NB的高性能python框架。最近正好公司有一个小项目。所以用sanic来试试手是很不错的了。 由于sanic的中文资料和项目还很少很少,所以,我就来献丑了。

创建APP

这里使用sanic自带的服务器,十分方便性能也很强。 和示例不同,因为各种依赖的问题,强烈建议创建一个app.py文件。里面定义app内容。 在这个app中,我顺带初始化了jinja2。你需要pip安装这些包。完整的app文件如下所示: app.py

import srvconf  from jinja2 import Environment, FileSystemLoader, select_autoescape  import sys  import os  from sanic import Sanic  app = Sanic(__name__)    @app.listener('before_server_start')  async def setup_db_redis(app, loop):      templates_path = os.path.join(os.getcwd(), 'templates')      app.template_env = Environment(          loader=FileSystemLoader(templates_path),          autoescape=select_autoescape(['html', 'xml']),          enable_async=False      )

定义了app,还需要启动这个app。 在同级目录创建文件:run_qb_games.py

import argparse  import os  from app import app  import logging      if __name__=="__main__":      parser = argparse.ArgumentParser(description='qb games, a simple project')      parser.add_argument('-p', action="store", default=8000, help='input the port which site runs')      parser.add_argument('-d', action="store", default=True, help='debug options, set True or False')      results = parser.parse_args()        app.run(log_config=None, host="0.0.0.0", port=results.p, debug=results.d)

此时,使用python3.6 run_qb_games.py -p 80 -d True就能启动这个服务了.