重磅推荐 | Flask项目脚手架--Flask-Application

2019-12-04 12:31:40 浏览数 (1)

如果你是django用户,那么你一定熟悉django-admin。没错!Flask-App就是Flask版本的django-admin

介绍

Flask-App是专门给Flask提供项目初始化的工具,通过该工具可以快速地创建一个Flask的初始项目/应用。新创建的项目/应用会包含良好的目录结构和基础的项目配置信息,无需再通过手工的方式创建这些基础目录和文件。

安装

代码语言:javascript复制
pip install Falsk-Application

快速开始

代码语言:javascript复制
flask-app startproject demo_pjcd demo_pjpython manage.py 8000

使用你喜欢的浏览器访问http://localhost:8000/demo_pj/,你就可以看到启动好首页。

使用说明

多应用项目

Flask的多应用项目模板具有以下特点:

•基于blueprint进行app的路由和管理•每个app都会有自己的mvc结构和templates目录•集成了gunicorn作为正式环境的启动方式•集成了日志配置,通过current_app.logger对象直接使用•支持新增app

创建方式

代码语言:javascript复制
flask startproject demo_pj

该命令执行完成之后就会在当前目录创建demo_pj的项目目录,其具体结构如下:

代码语言:javascript复制
|-- demo_pj    |-- apps          |-- demo_pj                |-- controller                    |-- __init__.py                |-- model                    |-- __init__.py                |-- view                    |-- __init__.py                    |-- app.py                    |-- index.py                |-- templates                    |-- home.html                |-- __init__.py          |-- logs          |-- static                |-- favicon.ico          |-- utils                |-- __init__.py                |-- constants.py                |-- decorators.py          |-- __init__.py    |-- __init__.py    |-- config.py    |-- gconfig.py    |-- manage.py    |-- wsgi.py    |-- requirements.txt    |-- startserver.sh

创建完Flask项目之后,在命令行直接进入到应用的主目录,然后执行启动命令:

代码语言:javascript复制
cd demo_pjpython manage.py 8000# orpython manage.py runserver 8000

启动完成之后可以执行访问http://localhost:8000/demo_pj/来访问项目的主目录。

线上部署

Flask-App集成了gunicorn来作为生成环境的部署方式,后台以多进程 gevent的方式提供并发支持,线上部署时使用如下命令:

代码语言:javascript复制
sh startserver.sh

默认启动的端口号为8000,如果需要修改端口号,可在gconfig.py文件里修改bind字段。

通常在gunicorn服务之前还需要添加nginx代理服务,除了直接处理静态文件,还同时转发请求给后台的gunicorn服务。

单应用工程

代码语言:javascript复制
flask createapp app01

暂未实现

TODO

•支持为多应用项目新增app•支持创建单应用项目•集成RESTfulAPI•集成flask-sqlarchemy•sqlarchemy模型自动生成

0 人点赞