Skip to main content

一个快速生成 Python Web 项目框架的工具

Project description

Build Status Coverage Status Documentation Status

py-summer

一个快速生成 Python Web 项目框架的工具,用户无需考虑后端框架(即支持多后端,目前支持 Flask )。支持自定义生成项目层级结构、接口。内容包含演示代码、测试用例等。

安装

Install and update using pip:

pip install -U py-summer

示例

  1. 生成一个新项目

    summer create -n test_project -d ./
    
  2. 生成的项目层级结构

    │  .gitignore                            ignore 文件
    │  gunicorn.conf                         gunicorn 配置文件
    │  requirements.txt                      项目运行所需依赖包
    │  server.py                             项目入口文件
    ├─application                            application
    │  │  __init__.py
    │  │  router.py                          路由
    │  ├─controller
    │  │      hello_controller.py            controller
    │  ├─model
    │  │      hello_model.py                 model
    │  └─view
    │         hello_handler.py               handler
    ├─config
    │      config.py                         配置文件
    ├─docker                                 docker 文件夹
    │      docker-compose.yml
    │      start.sh
    ├─log                                    日志文件夹
    ├─test                                   测试用例
    │      conftest.py
    │      test_api.py
    │      test_db.py
    └─tools                                  辅助方法
            error.py
    
  3. 运行项目

    python server.py
    

    默认监听所有地址, 端口为 8080。测试页可访问 http://127.0.0.1:8080/api/test

生成的项目模块说明

通过上面的示例,我们生成了一个简单的 http web 服务,下面将对生成的目录中各模块做一下介绍,简单的文件已经在目录结构中有说明,这里将不在赘述。

  1. application

这里是 web 应用程序的总目录,里面包含 model/view/controller, 即 web 服务的 MVC 部分,router.py 这里是设置整个项目路由的地方。

  1. config

config 目录是整个工程的配置目录,里面通过类的形式来进行各种环境的配置,通过 application 下的 __init__.py 来导入配置信息。

  1. docker

docker 中是 docker-compose 的配置文件,用来配置项目的部署环境,start.sh 是 docker 容器启动的入口文件。

  1. test

test 这里是项目的单元测试模块,里面有一个 conftest.py 文件来配置测试信息,test_xxx.py 文件是具体的单元测试文件,这里使用 pytest.fixture 打通 server/client 进行测试,测试时无需额外启动 server 即可测试 server 接口。

后续计划

  1. 集成 Flask 常用功能模块

    目前计划集成功能点如下:
    • 启动方式
    • 路由处理
    • 数据库处理
    • 异常处理
    • 常用插件
  2. 支持接口根据配置文件自动生成,进一步提高代码规范,开发效率。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py_summer, version 0.0.2
Filename, size & hash File type Python version Upload date
py_summer-0.0.2.tar.gz (9.8 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page