Flask项目脚手架 -- Flask-Application正式发布
Posted 上帝De助手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask项目脚手架 -- Flask-Application正式发布相关的知识,希望对你有一定的参考价值。
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。
如果你是
django
用户,那么你一定熟悉django-admin
。没错!Flask-App
就是Flask
版本的django-admin
。
介绍
Flask-App
是专门给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模型自动生成
以上是关于Flask项目脚手架 -- Flask-Application正式发布的主要内容,如果未能解决你的问题,请参考以下文章