美文网首页
Flask 项目结构

Flask 项目结构

作者: Benny_浩 | 来源:发表于2017-12-18 11:40 被阅读158次
Flask 项目结构.png
  • libs——每个模块所用到的函数
  • models——数据库模型
  • static——静态文件
  • templates——jinja2模板
  • utils——小工具/第三方
  • views——视图函数
  • config.py——项目配置代理
  • develop_config.py——项目配置
  • ext——共用变量,如db
  • flask_test002.py——app主文件
  • manage.py——命令
  • register_blueprints_list——蓝图列表,用于循环注册

config.py

from develop_config import Dev, DevConstant
config = {
    "config_type": 'dev',
    'dev': Dev,
    'constant': DevConstant

develop_config.py

HOSTNAME = '127.0.0.1'  #主机ip
PORT = '3306' #端口
DATABASE = 'flask_test3' #数据库名
USERNAME = 'user' #mysql用户名
PASSWORD = 'password' #mysql用户密码
CHARSET = 'charset=utf8'  #编码
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?{}'.format(USERNAME, PASSWORD, HOSTNAME,
                                                    PORT, DATABASE, CHARSET)
class Dev(object):
    """开发环境配置参数"""
    SECRET_KEY = 'aaa'
    DEBUG = True
    #连接数据库
    SQLALCHEMY_DATABASE_URI = DB_URI
    # 如果设置成True,Flask-SQLAlchemy 将会追踪对象的修改并且发送信号
    SQLALCHEMY_TRACK_MODIFICATIONS = True

class DevConstant(object):
    """开发常量"""
    SESSION_ID = 'session_id'

主文件 create_app

def create_app(config_type): #'dev'
    app = Flask(__name__)
    app.config.from_object(config[config_type])  #config['dev']  Dev
    db.init_app(app)

    for b in blueprints:
        app.register_blueprint(b)
    return app

app = create_app(config['config_type'])

manage.py

from flask_script import Manager, Command, Server
from flask_migrate import Migrate, MigrateCommand #1
from flask_test002 import app
from ext import db
from models.account.account_user_model import User
from models.admin.admin_model import AdminUser
from models.files.upload_file_model import Files

manager = Manager(app)
migrate = Migrate(app, db) #2

manager.add_command('aaa', Server(host='0.0.0.0', port=5000))
manager.add_command('db', MigrateCommand)  #3

'''shell'''
def make_shell_context():
    return dict(app=app,db=db,User=User,Role=Role)
manager.add_command("shell",Shell(make_context=make_shell_context))


@manager.option('-n', '--name', dest='name',help='', default='root')
@manager.option('-p', '--password', dest='password', help='', default='222')
def hello(name, password):
    admin = AdminUser(username=name, password=password)
    db.session.add(admin)
    db.session.commit()
    print name, password


if __name__ == '__main__':
    manager.run()

相关文章

  • Nginx与uWSGI部署

    1. flask项目文件结构 项目位于 /home/kun/item, 以下是文件结构文件结构 config.p...

  • flask项目结构

    1.https://blog.csdn.net/xingyunlost/article/details/77155...

  • Flask项目结构

    一般结构图 一般来说项目最基本的包括:一、 app项目文件夹 1. 后台的数据路由管理文件夹api这个文件夹下的文...

  • Flask 项目结构

    libs——每个模块所用到的函数 models——数据库模型 static——静态文件 templates——ji...

  • flask简单应用

    flask_basic 文件目录结构(非快速创建的flask项目)image.png static: 类似djan...

  • Flask Web 开发 【 Chapter 7 】大型程序结构

    【 Chapter 7 】大型结构目录 7.1 项目结构 Flask 程序基本的结构: 下面讲解把 hello.p...

  • flask小项目结构

    额,最近小伙伴问我,flask怎么用????有点懵逼,我给过他教程了啊怎么回事?问了才知道,他想要直接生成项目文件...

  • Flask 项目目录结构

    翻译原文:https://lepture.com/en/2018/structure-of-a-flask-pro...

  • flask配置生产环境

    书接上文flask与SQLAlchemy,我们了解到 如何规范flask工程的项目结构 什么是ORM 如何使用SQ...

  • Flask 程序的基本结构

    项目结构原则 Flask 不同于大多数的Web框架,它并没有特定的组织方式,项目机构完全由开发者决定。但是项目结构...

网友评论

      本文标题:Flask 项目结构

      本文链接:https://www.haomeiwen.com/subject/omgpwxtx.html