Giter Club home page Giter Club logo

flask-cli's Introduction

Flask-Cli

2020/12/27更新

自己用的Flask 脚手架 注释参照Google Python编写规范

结构介绍

[项目基于工厂模式搭建]

# 内置的现成模块 可直接用
    Models.py   数据库类
    Email.py    邮件发送模块
    upload      多用上传模块

# 项目文件和结构说明
    |-manage.py
    |-requirements.txt
    |-app
        |-upload            文件上传模块
        |-user              蓝图:用户类功能
        |-__init__.py       构建工厂
        |-Blueprint.py      蓝图注册
        |-Config.py         配置文件
        |-Email.py          邮件发送模块
            |-SeedEmail 邮件发送方法
        |-Errorhandler.py   错误请求配置
        |-Extensions.py     引入依赖注册
        |-Middleware.py     中间件 (2020/12/27废除POST中间件)
            |-Token 请求认证
            |-POST 普通请求
        |-Models.py         数据库类
            |-数据库基类
            |-用户表
            |-管理员表
            |-异常记录表
        |-Startprint.py     启动打印
        |-Tool.py           小工具
        |-RAM.py            项目运行时储存的共享参数
    |-env
    |-ini
    |-expand
        |-new_blueprint     蓝图模板 直接复制到app内修改蓝图注册名即可
        |-templates         代码模板 内置增删查改的代码(2020/12/27)新增

# 使用依赖
    Blueprint
    Flask
    Flask-Caching   
    Flask-Cors      
    Flask-Docs      
    Flask-Mail      
    Flask-Migrate   
    Flask-RESTful   
    Flask-Script    
    Flask-SQLAlchemy
    mysqlclient

建议

# 建议采用以下项目格式部署
|-Service
    |-Project_name
        |-Api(Flask-CLi)
        |-Web(Vue or Recat build Pack)
        |-Admin(Admin Web Build Pack)
        |-config(nginx)
    |-Log

Start

# start project
(env)python manager.py runserver

# 见到输出台打印以下内容表示启动成功
------------------------------------------------------------------------------------------------------------------------
 ______   __         ______     ______     __  __     ______     __         __
/\  ___\ /\ \       /\  __ \   /\  ___\   /\ \/ /    /\  ___\   /\ \       /\ \
\ \  __\ \ \ \____  \ \  __ \  \ \___  \  \ \  _"-.  \ \ \____  \ \ \____  \ \ \
 \ \_\    \ \_____\  \ \_\ \_\  \/\_____\  \ \_\ \_\  \ \_____\  \ \_____\  \ \_\ 
  \/_/     \/_____/   \/_/\/_/   \/_____/   \/_/\/_/   \/_____/   \/_____/   \/_/

感谢使用Flask-Cli脚手架(https://github.com/weivis/Flask-Cli), 脚手架作者WeiVi(https://www.weivird.com/) 正在启动中>
“我不知道第三次世界大战会用哪些武器,但第四次世界大战中人们肯定用的是木棍和石块。” ——阿尔伯特·爱因斯坦 (出自Alice Calaprice所著《The New Quotable Einstein》)
愿世界无战争

开发模式运行 >
配置文件      :  development  Config
启动时间      : 2020-12-27 06:24:11.238707
Live Docs    :  http://127.0.0.1:8080/docs/api/
DEBUG Active :  True

Start(Old)

# start project
(env)python manager.py runserver

# 见到输出台打印以下内容表示启动成功
---------------------------------------------------------------------------------------------
启动时间: 2020-10-12 05:57:29.058991
Run in    :  < development > Config
Live Docs :  http://127.0.0.1:80/docs/api/

Create NewAdmin

# create manager
(env)python manager.py

    @ createadmin
    -u  用户名
    -a  账户
    -p  密码

    # python manage.py createadmin -u Administrator -a admin -p 123456 

# 看到打印台输出以下内容表示创建成功

创建新管理员 < Administrator  ID: 1  > 成功
账户: admin
密码: 123456

BaseModel

# Models内提供两个基础模型基类

    BaseModel
        id
        create_time
        update_time

    BaseModel_Account
        id
        token
        create_time
        update_time

Production

# 部署路径
/home/{用户目录:默认ubuntu }/Service/{项目}/Api # Api是配置文件默认的项目文件夹名

# 部署要求 Supervisor Uwsgi Nginx Mysql Redis Python

# 配置文件路径
|-Api
    |-app
    |-env
    |-ini
        |-uwsgi.ini
        |-supervisort   # 配置完成后把 supervisor 文件放置 /etc/supervisor/conf.d/
        |-nginx.conf    # 配置完成后把 nginx 文件放置 /etc/nginx/sites-enabled/

Config

app/Config.py

DevelopmentConfig
ProductionConfig

Migrations

# create migrations
python manage.py db init

# upchange
python manage.py db migrate

# updatesql
python manage.py db upgrade

Pipenv Packages

# install virtualenv
pip install virtualenv

# create env
virtualenv env

# use env
Liunx: source env/bin/activate
Windows: env/scripts/activate

# install pip lib in env
(env) pip install -r requirements.txt

统一返回说明

requestStatus: 200
    code    业务码
    data    数据
    msg     消息

requestStatus: !200
    请求异常 不会返回数据

先判断status 后判断code

flask-cli's People

Contributors

weivis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

19950813

flask-cli's Issues

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.