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正式发布的主要内容,如果未能解决你的问题,请参考以下文章

Flask项目脚手架 -- Flask-Application正式发布

flask+vue.js 前后端分离入门教程

VUE----脚手架3指定项目端口

脚手架搭建的vue2项目中使用sass

vue创建脚手架项目

基于 VueCLI 搭建自己的 vue 项目脚手架