美文网首页
Flask创建工程项目结构

Flask创建工程项目结构

作者: 747大雄 | 来源:发表于2018-12-27 11:36 被阅读0次

Flask创建工程项目结构

  1. 创建管理所有项目逻辑代码的包apps

    1545875462986.png

并在init.py文件中编写生成定制化app的工厂函数

from flask import Flask


def get_cms_app():
    # 实例化实现了wsgi接口功能的flask对象
    app = Flask(__name__)
    return app
  1. 在apps中创建config.py配置文件,为不同环境都创建一个配置类,并创建任意个你需要对外的接口,比如生产环境部署接口,开发时使用的接口

    1545875853707.png

配置文件config.py中的代码

class BaseDevConfig(object):
    DEBUG = True
    # 测试开发时共有的一些配置...


class CMSDevConfig(BaseDevConfig):
    # 开发CMS系统时定制化的一些配置
    pass


class CMSProConfig(object):
    # CMS系统正式部署时根据自己的需要的一些配置,例如mysql配置,redis配置等等,
    pass

cms_app.py开发时使用的接口,因为写了定制化的配置类,现在我们修改前面的代码。

init.py文件

from flask import Flask


def get_cms_app(config_obj: str):
    # 实例化实现了wsgi接口功能的flask对象
    app = Flask(__name__)
    # 增加app系统配置
    app.config.from_object(config_obj)
    return app

cms_app.py文件的代码

from apps import get_cms_app

# 获取定制化的app,这里传入config.py文件中指定的类名,生成的app将使用CMSDevConfig里面的配置
cms_app = get_cms_app("apps.config.CMSDevConfig")

# 启动flask自带的调试web服务器
if __name__ == '__main__':
    cms_app.run()
  1. 根据自己项目的规划,创建一个或多个蓝图包,里面管理视图函数,比如写一个web系统,你需要写一个和前端交互的逻辑代码包(apis),还需要写一个后台管理逻辑代码包(cms)。

    项目架构

    1545879051799.png

cms/init.py文件里面写蓝图注册

from flask import Blueprint

# 实例化蓝图对象
cms_bp = Blueprint("cms", __name__)
  1. 接下来可以在响应蓝图包中开发自己需要的功能,这里就以最简单的例子展示,为了使代码分离,可以在蓝图包中新创建需要的视图函数,项目架构

    1545879668381.png

user_view.py中代码

from . import cms_bp


@cms_bp.route("/")
def index():
    return "hello world"

将该视图函数导入到cms/init.py中间中,这样蓝图才能找到这个函数

cms/init.py中的代码

from flask import Blueprint

# 实例化蓝图对象
cms_bp = Blueprint("cms", __name__)

from . import user_view

再将蓝图注册到app上,这样app才能激活蓝图中的rule

app/init.py代码

from flask import Flask


def register_cms_bp(app):
    from apps.cms import cms_bp
    # 将蓝图注册到app上
    app.register_blueprint(cms_bp)


def get_cms_app(config_obj: str):
    # 实例化实现了wsgi接口功能的flask对象
    app = Flask(__name__)
    # 增加app系统配置
    app.config.from_object(config_obj)
    # 将导入语句等等封装成函数是为了导入顺序的正确
    register_cms_bp(app)
    return app

至运行cms_app.py文件就能通过127.0.0.1:5000/访问到index视图函数返回的数据

  1. 最后在添加项目常需要的静态文件夹,模板文件夹,模型层,数据验证层,通用函数层等等。

    1545881010999.png

至此项目的大概架构就搭建完成,后期根据项目的需要,可以适当的更改。如果大家觉得还行,想更细致的了解开发和实际部署时项目的架构,可以评论或私信我,我会当项目编写完成后,将实际的代码目录贴出来,并将重新开帖子把实际部署到服务器的过程写出来。如果大家有更好的项目构建,也希望大家可以给小弟我分享分享,感谢。

相关文章

  • Flask创建工程项目结构

    Flask创建工程项目结构 创建管理所有项目逻辑代码的包apps1545875462986.png 并在init....

  • flask简单应用

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

  • Flask笔记-自定义扩展

    1. 创建扩展包目录,结构如下: 注意:根据Flask扩展命名规范,约束如下: 扩展的代码必须放在名为”flask...

  • 创建django工程

    一、创建工程 执行命令后,在test_flask文件下创建django项目bookmanager,目录结构为 运行...

  • 2020-05-27--flask01--flask基础01

    flask框架概述 虚拟环境的创建 pycharm创建flask项目 HelloWorld运行 (___name_...

  • Flask-RESTful中装饰器的使用

    1. 创建Flask-RESTful实例时使用 Flask-Restful的创建实例方法 decorators (...

  • Android项目结构概述

    Android Studio目录结构 新建工程项目后AS的Product目录结构如下所示: 新建工程项目后AS的M...

  • Flask Web 开发【 Chapter 2 】程序的基本结构

    第二章 程序的基本结构 2.1 初始化 索引的 Flask 程序都必须创建一个程序实例,经常使用下述代码创建: F...

  • Flask对象初始化参数

    Flask程序实例在创建对象的时候。需要默认传人当前Flask程序所指定的包(模块),Flask应用程序在创建的时...

  • Flask字体服务入门

    1.创建Flask项目 可以直接创建一个py文件,导入并声明,也可以使用pycharm创建。 from flask...

网友评论

      本文标题:Flask创建工程项目结构

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