Flask-ApplicationFlask 项目初始化工具
Flask-Application是专门给Flask提供项目初始化的工具,通过该工具可以快速地创建一个Flask的初始项目/应用。新创建的项目/应用会包含良好的目录结构和基础的项目配置信息,无需再通过手工的方式创建这些基础目录和文件。
安装
pip install Flask-Application
快速开始
flask-app startproject demo_pj cd demo_pj python manage.py 8000
使用你喜欢的浏览器访问http://localhost:8000/demo_pj/,你就可以看到启动好首页。
使用说明
多应用项目
Flask的多应用项目模板具有以下特点:
- 基于
blueprint进行app的路由和管理 - 每个
app都会有自己的mvc结构和templates目录 - 集成了
gunicorn作为正式环境的启动方式 - 集成了日志配置,通过
current_app.logger对象直接使用 - 支持新增
app
创建方式
flask startproject demo_pj
该命令执行完成之后就会在当前目录创建demo_pj的项目目录,其具体结构如下:
|-- 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项目之后,在命令行直接进入到应用的主目录,然后执行启动命令:
cd demo_pj python manage.py 8000 # or python manage.py runserver 8000
启动完成之后可以执行访问http://localhost:8000/demo_pj/来访问项目的主目录。
线上部署
Flask-App集成了gunicorn来作为生成环境的部署方式,后台以多进程+gevent的方式提供并发支持,线上部署时使用如下命令:
sh startserver.sh
默认启动的端口号为8000,如果需要修改端口号,可在gconfig.py文件里修改bind字段。
通常在
gunicorn服务之前还需要添加nginx代理服务,除了直接处理静态文件,还同时转发请求给后台的gunicorn服务。
单应用工程
flask createapp app01
暂未实现
TODO
- 支持为多应用项目新增app
- 支持创建单应用项目
- 集成RESTfulAPI
- 集成flask-sqlarchemy
- sqlarchemy模型自动生成
评论
