Flask 中 Blueprint 对应的 templates 文件夹位置

2019-03-14 00:15:13 +08:00
 saulshao

我了解组织一个 flask 项目的时候,Blueprint 是比较合适的方法。
文件夹的一种结构大概如下:
Approot/
-------BP1/
-----------init.py
-----------models.py
-----------routes.py
-----------templates/
--------------------BP1TPL1.html
--------------------BP1TPL2.html
-------BP2/
-----------init.py
-----------models.py
-----------routes.py
-----------templates/
--------------------BP2TPL1.html
--------------------BP2TPL2.html
另外一种结构如下:
Approot/
-------BP1/
-----------init.py
-----------models.py
-----------routes.py
-------BP2/
-----------init.py
-----------models.py
-----------routes.py
-------templates/
----------------BP1/
--------------------BP1TPL1.html
--------------------BP1TPL2.html
----------------BP2/
--------------------BP2TPL1.html
--------------------BP2TPL2.html
假设 Blueprint 是可以由不同的开发者分别开发,最后再注册到整个系统中,那么我觉得第一种文件夹结构更合理。理由是我如果需要新增一个 blueprint,直接复制整个子文件夹过来,然后注册就行了。如果是第二种,还要考虑 templates 文件夹的位置之类的。
我想请教一下有实际经验的开发者(在下没有),各位倾向于哪种文件夹结构?为什么?
实际上不只是 Template,还有 assests 文件夹等等

4467 次点击
所在节点    Flask
7 条回复
andylsr
2019-03-14 00:35:05 +08:00
用 git~这两就没区别了
saulshao
2019-03-14 00:52:40 +08:00
楼上的意思,假如我是一个大项目,直接分给 2 个人开发,其实这 2 种组织方式是没区别的。
我其实是想问假如我有一个大的系统,这个系统其实一开始是不知道到底有多少个 BP 的。
假设我做到一半,我发现社区有个 flask 项目不错,我想拿来当做这个系统的一个 BP,要怎么处理?
MrGba2z
2019-03-14 02:13:40 +08:00
coolair
2019-03-14 08:35:29 +08:00
你其实室需要 django 的 app
wellwisher
2019-03-14 12:05:02 +08:00
作为一个自己写的代码都记不清的人,强烈推荐第 2 种模板结构。
原创代码的项目用第 2 种,感觉调试模板起来方便一点,批量搜索多个 html 模板文件内容时,效率更高一点,搜索时可以忽略很多 .py 文件。
要引用现成代码项目用第 1 种,复制粘贴的时候方便一点。其实还是用第 1 种好一点,不过多几步复制粘贴。
对于眼睛盯着屏幕,双手就可以哒哒哒……打出代码的大牛,无所谓哪一种结构。作为调试星人的痛苦,谁是谁知道,随时都需要搜索,复制和粘贴。
saulshao
2019-03-14 15:32:39 +08:00
@MrGba2z 这个链接让我有了更多理解,确实这更多取决于个人的选择。方式 1 的优点在于复制粘贴方便,方式 2 的优点则在于可以共享静态文件。
@andylsr 则让我想到其实大多数的项目,都是可以合作开发的,尤其是开源项目。
Harlaus
2019-10-22 10:57:14 +08:00
第二种

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/544352

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX