Flask-Application

GUN V3
Python
上帝De助手 · December 03, 2019 · 1368 次阅读 · 2 条评论

关注二维码

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

介绍

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

安装

pip install Falsk-Application 

快速开始

flask-app startproject demo_pj
cd demo_pj
python manage.py 8000

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

使用说明

多应用项目

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

项目地址

评论列表
TesterTT 发表于 March 24, 2020

别造轮子了
Flask-AppBuilder 或 Flask-Admin了解下

testerzhang 发表于 February 28, 2020

pip install Falsk-Application 应该是pip install Flask-Application