如何用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: [[email protected]] <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.

原文地址:https://www.cnblogs.com/DeaconOne/p/12238111.html

时间: 2024-10-09 04:09:33

如何用rflask快速初始化Flask Restful项目的相关文章

快速创建Flask Restful API项目

前言 Python必学的两大web框架之一Flask,俗称微框架.它只需要一个文件,几行代码就可以完成一个简单的http请求服务. 但是我们需要用flask来提供中型甚至大型web restful api服务的时候就需要我们来规划项目结构. Django 框架有自身的生成项目结构的命令和生成app的命令,但是Flask没有. 这篇文章主要介绍使用工具帮助我们进行一些Flask rest api项目初始化的工作 cookiecutter-flask-restful 介绍 cookiecutter-

通过beego快速创建一个Restful风格API项目及API文档自动化(转)

通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界面. 一.创建数据库及数据表(MySQL) #db--jeedev -- ---------------------------- -- Table structure for `app` -- ---------------------------- DROP TABLE IF EXISTS `a

C数组&amp;结构体&amp;联合体快速初始化

背景 C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序. C99标准新增指定初始化(Designated Initializer),即可按照任意顺序对数组某些元素或结构体某些成员进行选择性初始化,只需指明它们所对应的数组下标或结构体成员名.GNU C将其作为C89模式的扩展. 借助指定初始化特性,可实现数组或结构体元素的快速初始化. 1 数组初始化 在数组初始化列表中使用"[index常量表达式]=value"形式可对index所指定的某个元素进

spring boot 快速搭建 基于 Restful 风格的微服务

使用 spring boot 快速搭建 基于  Restful 风格的微服务, 无spring 配置文件,纯java 工程,可以快速发布,调试项目 1.创建一个maven 工程 2. 导入如下配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt

如何用脚本快速修改IP地址(Netsh)

如何用脚本快速修改IP地址(Netsh) 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了.最近一个项目经常要切换ip,所以我写了两个脚本:c:\116.bat netsh interface ip set address "本地连接" static 10.45.128.116 255.255.255.0 10.45.128.254 1 c:\172.bat netsh interface ip set address "本地连接" static 172

如何用C#快速制作一个播放器

如何用VS快速制作一个播放器 本程序环境: 系统windows7 工具vs2012 语言c# 具体步骤如下: 1.  添加windowsmedia palyer组件 打开视图->工具箱 右键单击常规->选择项->COM组件->Windows Media Palyer 如图所示 新建winForm项目,打开form就可以看见工具箱常规下面有Windows Media Palyer组件了,如下图所示: 2.  在Form中添加WindowsMedia Palyer.OpenFileDi

入职一个月快速熟悉大型Vue项目经验感想

来到和睦的公司家庭已经一个月出头了,从技术层面来说,公司项目PC端是我目前来说接触的最大最复杂的项目了,德老师也说这个不断开发更新迭代的项目的代码量相对于全国的web来说是蛮多的,对于快速熟悉这样的大项目需要一定的时间.我是真的深有体会了,因为自己刚开始开发vue的实战经验很少,刚开始做公司这个项目所花的时间中,三分之二是在读代码,而且还有很多没看懂的.但随着接触的模块不断增加,不断在代码中踩坑脱坑,不断地在和PC端大管加朝夕相处的日子里渐渐的摸清它的架构,其中积累了一些快速读懂项目架构.模块组

如何使用Grunt脚手架快速创建Node.js项目

作者:zhanhailiang 日期:2014-11-17 1. 安装node.js,npm工具(略). 2. 安装grunt, grunt-init npm install -g grunt-cli npm install -g grunt-init 3. 下载脚手架:grunt-init-node - Create a Node.js module, including Nodeunit unit tests. git clone git@github.com:billfeller/grun

rapid-framework脚手架快速搭建springMVC框架项目

rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮子的原则,框架只是将零散的struts(struts2)+spring+hibernate各个组件组装好在一起,并对struts及struts2进行改造,提供零配置编程,并内置一个强大的代码生成器及模板文件,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面.  整个项目