专栏首页大猪的笔记sanic(1):创建app

sanic(1):创建app

前言

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就能启动这个服务了.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • sanic(2):创建handler

    上文说到已经创建了app,但是此时的项目里只有两个光秃秃的文件。要完成一个完整的网站,还需要在上面添加handler和templates。

    超级大猪
  • sanic(4):增加mysql数据库与redis支持

    依据上文,我们已经可以做出后台,也能使用jinja2来渲染页面。下面简单讲讲如何给sanic项目添加mysql和redis支持。

    超级大猪
  • sanic(3):调用templates

    经过上文,我们已经能输出hello这个单词。这说明服务已经成功响应。这里,我们将使用jinja2来进行html的渲染。 jinja2怎么用,已经超出了本文范围...

    超级大猪
  • Android 组件化开源app -开眼短视频(OpenEyes)

    该开源项目采用组件化的方式开发,使用MVVM + AndroidX + jetpack 组件为基本架构进行开发。

    darryrzhong
  • Flask框架(二)

    1.app.befor_request装饰过得函数在真正的响应函数之前执行,可以有多个,当有多个的时候,执行顺序是谁在前面谁先执行。

    GH
  • Flask阶段(一)代码

    小闫同学啊
  • app中的webview通识篇(上)

    如果你还是第一次与app合作开发webview的页面,那么对于如何调试,可能有哪些问题可能是不够了解的。本文尝试性的根据自己的经验给大家一个入门级别的了解,如果...

    RobinsonZhang
  • 慕课网Flask高级编程实战-3.蓝图、模型与CodeFirst

    应该讲一些初始化工作,放在对应层级的包的初始化文件 __init__.py 中。比如Flask核心应用app对象初始化应该放在应用层级app包的 __init_...

    Meet相识
  • App出海又遇困局,乘风破浪的互联网企业何时上岸

    App Annie统计显示,2020年6月全球热门应用,TikTok(抖音海外版)继续霸榜,无论是下载量还是收入依旧稳拿第一。今年受到新冠疫情的影响,在一二季度...

    APICloud
  • 怎样才能做一款好的App,即做app时最需要注意的六个因素

    移动互联网时代,app已经成为了我们生活中不可或缺的一部分了。根据当前情况来看,app在未来几年内,至少两年内,还将会有新一波的火爆增长时期。尤其是我们中国市场...

    非著名程序员

扫码关注云+社区

领取腾讯云代金券