前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >重磅推荐 | Flask项目脚手架--Flask-Application

重磅推荐 | Flask项目脚手架--Flask-Application

作者头像
上帝De助手
发布2019-12-04 12:31:40
3.9K1
发布2019-12-04 12:31:40
举报
文章被收录于专栏:TestQA

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

介绍

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

安装

代码语言:javascript
复制
pip install Falsk-Application

快速开始

代码语言:javascript
复制
flask-app startproject demo_pjcd demo_pjpython manage.py 8000

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

使用说明

多应用项目

Flask的多应用项目模板具有以下特点:

•基于blueprint进行app的路由和管理•每个app都会有自己的mvc结构和templates目录•集成了gunicorn作为正式环境的启动方式•集成了日志配置,通过current_app.logger对象直接使用•支持新增app

创建方式

代码语言:javascript
复制
flask startproject demo_pj

该命令执行完成之后就会在当前目录创建demo_pj的项目目录,其具体结构如下:

代码语言:javascript
复制
|-- 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项目之后,在命令行直接进入到应用的主目录,然后执行启动命令:

代码语言:javascript
复制
cd demo_pjpython manage.py 8000# orpython manage.py runserver 8000

启动完成之后可以执行访问http://localhost:8000/demo_pj/来访问项目的主目录。

线上部署

Flask-App集成了gunicorn来作为生成环境的部署方式,后台以多进程+gevent的方式提供并发支持,线上部署时使用如下命令:

代码语言:javascript
复制
sh startserver.sh

默认启动的端口号为8000,如果需要修改端口号,可在gconfig.py文件里修改bind字段。

通常在gunicorn服务之前还需要添加nginx代理服务,除了直接处理静态文件,还同时转发请求给后台的gunicorn服务。

单应用工程

代码语言:javascript
复制
flask createapp app01

暂未实现

TODO

•支持为多应用项目新增app•支持创建单应用项目•集成RESTfulAPI•集成flask-sqlarchemy•sqlarchemy模型自动生成

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TestQA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装
  • 快速开始
  • 使用说明
  • 多应用项目
    • 创建方式
      • 线上部署
      • 单应用工程
      • TODO
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档