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模型自动生成
评论