[翻译] Flask Blueprints—Explore Flask
admin
2023-07-31 01:47:17
0

王小波说翻译最见一个人的文学功底,现在相信了。
如果完全按照自己的话组织,总是能适应自己的习惯,相对来说写起来可能更为流畅。
但是翻译,即便清楚的理解了作者的意思,往往还要同时考虑原文的结构,反倒表达不清楚。
对于能力欠佳的我,暂时先翻译这么多吧

推荐大家直接看原文
原文链接 Explore Flask

What is a Blueprint?


Blueprint是定义了一系列供Web应用使用的视图、模版、静态文件以及其他的一些对象的集合。

比如我们已经有了一个使用Blueprint开发的用户管理界面。这个Blueprint可以定义视图,这些视图对应于路径,比如/admin/login 和/admin/dashboard.同时可以包括模版和静态文件。

我们可以将上述的\”用户管理\”添加到现有的应用中,它可能是一个宇航员的社交网络或者供火箭销售员使用的CRM系统。

Why would you use Blueprint?


Blueprint杀手级的使用场景是将应用程序拆分成不同的组件。
以Twitter为例
我们会在诸如e.g index.html and about.html的页面使用Blueprint.
另一个Blueprint应用于用户登录成功后用于显示最新邮件
可能还有一个Blueprint用于系统管理
通过这种方式,每一个不同的模块都同样可以被独立出来
我们的程序由这些独立的模块所组成。

Where do you put them?


就像Flask的灵活性一样。通过Blueprint,我们有很多方法来组织我们的程序结构。
这里我们讨论两种选择: 功能 VS 业务区分

Functional structure

  • 按照各个模块所实现的功能进行区分。模版、视图和静态文件分别放在不同的目录下

    yourapp/
        __init__.py
        static/
        templates/
            home/
            control_panel/
            admin/
        views/
            __init__.py
            home.py
            control_panel.py
            admin.py
        models.py

Divisional structure

  • 按照当前网站的相关业务进行区分。所有与管理相关的模版、视图和静态文件放到一个目录所有与用户相关的模版、视图和静态文件放到另一目录

    yourapp/
        __init__.py
        admin/
            __init__.py
            views.py
            static/
            templates/
        home/
            __init__.py
            views.py
            static/
            templates/
        control_panel/
            __init__.py
            views.py
            static/
            templates/
        models.py

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...