如何用rflask快速初始化Flask Restful项目
如何用rflask快速初始化Flask Restful项目
说明
多啰嗦两句
我们在创建flask项目的时候,使用pycharm创建出来的项目比较简陋,而且随着项目的功能完善,项目目录结构会比较多,多个项目结构又不统一,熟悉项目需花费时间比较多,项目发布配置又需要自己重新写一套。本文章是针对Flask Restful Api项目进行的快速初始化,对于没有前后端分离的Flask项目也可作为参考。
安装rflask
pip
安装:
pip install rflask
下载源码安装:
源码地址:https://github.com/Deacone/rflask
依次执行命令:
$ git clone https://github.com/Deacone/rflask $ cd rflask $ python setup.py install
检验是否安装成功
$ rflask --help Usage: rflask [OPTIONS] COMMAND [ARGS]... A general utility script to init flask restful project. Example: $ rflask init Options: --version --help Show this message and exit. Commands: init Init restful project. or $ rflask --version 1.0.8
初始化项目
$ rflask init * project_name: [flask-restful-api-20200125-090404] <your_project_name> * author: [Deacon] <your_name> * author_email: [] <your_email> * description: [Flask restful api project.] <project_description> ... ... Create file /Users/donghp/Downloads/Git_doc/PythonProject/init-flask-restful-api/flask-restful-api-20200125-090404/supervisord_example.conf Done.
初始化完目录结构如下:
. ├── applications │?? ├── test │?? │?? ├── README.rst │?? │?? ├── __init__.py │?? │?? ├── models.py │?? │?? ├── urls.py │?? │?? └── views.py │?? ├── user │?? │?? ├── README.rst │?? │?? ├── __init__.py │?? │?? ├── models.py │?? │?? └── views.py │?? └── __init__.py ├── enums │?? └── __init__.py ├── exceptions │?? ├── __init__.py │?? └── project_excepions.py ├── flask_ext │?? ├── __init__.py │?? └── logger.py ├── logs ├── requirements │?? ├── dev.txt │?? └── prod.txt ├── scripts │?? └── __init__.py ├── utils │?? ├── __init__.py │?? └── commands.py ├── Dockerfile ├── LICENSE ├── Pipfile ├── README.rst ├── __init__.py ├── app.py ├── autoapp.py ├── compat.py ├── database.py ├── docker-compose.yml ├── extensions.py ├── gunicorn.conf.py ├── gunicorn_example.conf.py ├── settings.py ├── setup.py ├── supervisord.conf └── supervisord_example.conf
项目结构说明:
目录
- applications:app应用,包含了models、urls、views,app的数据结构、url映射、视图函数都是在这里完成的
- enums: 系统枚举模块
- exceptions: 系统异常模块
- flask_ext: 自定义flask扩展模块
- logs: 系统log保存
- scripts: 系统脚本模块
- utils: 工具模块
文件
- .env: 系统环境变量配置
- Dockerfile: 构建docker使用的文件
- LICENSE: 开源协议,默认MIT
- Pipfile: pipenv安装包依赖文件
- README.rst: 文档
- init.py:
- app.py: flask 入口文件
- autoapp.py: flask工厂文件
- compat.py: 兼容py2文件
- database.py: 数据库数据处理文件
- docker-compose.yml: docker-compose 配置文件
- extensions.py: flask扩展应用初始化文件
- gunicorn.conf.py: gunicorn配置文件
- settings.py: 系统配置文件
- setup.py: 打包配置文件
- supervisord.conf: supervisor配置文件
开发环境初始化
$ cd your_project $ pip install pipenv $ pipenv install --dev $ pipenv run python app.py
说明:如果已经安装了pipenv,就不需要第二步了。
如果不使用pipenv管理虚拟环境,则执行下面的命令:
$ cd your_project $ pip3 install -r requirements/dev.txt $ python3 app.py
同步db 数据结构
$ flask db init $ flask db migrate $ flask db upgrade
部署到docker
$ git clone your_project.git $ cd <your_project> $ docker-compose up
Enjoy your code.