Giter Club home page Giter Club logo

flask-app's Introduction

关注二维码

如果你是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模型自动生成

flask-app's People

Contributors

five3 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.