如何用rflask快速初始化Flask Restful项目
Posted deaconone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用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: [deacon@example.com] <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.
以上是关于如何用rflask快速初始化Flask Restful项目的主要内容,如果未能解决你的问题,请参考以下文章
如何用flask实现一个web应用来显示在mysql数据库中查询到的内容