V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
saulshao
V2EX  ›  Flask

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

  •  
  •   saulshao · 2019-03-14 00:15:13 +08:00 · 4439 次点击
    这是一个创建于 2079 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我了解组织一个 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 文件夹等等

    7 条回复    2019-10-22 10:57:14 +08:00
    andylsr
        1
    andylsr  
       2019-03-14 00:35:05 +08:00 via Android
    用 git~这两就没区别了
    saulshao
        2
    saulshao  
    OP
       2019-03-14 00:52:40 +08:00
    楼上的意思,假如我是一个大项目,直接分给 2 个人开发,其实这 2 种组织方式是没区别的。
    我其实是想问假如我有一个大的系统,这个系统其实一开始是不知道到底有多少个 BP 的。
    假设我做到一半,我发现社区有个 flask 项目不错,我想拿来当做这个系统的一个 BP,要怎么处理?
    coolair
        4
    coolair  
       2019-03-14 08:35:29 +08:00 via Android
    你其实室需要 django 的 app
    wellwisher
        5
    wellwisher  
       2019-03-14 12:05:02 +08:00
    作为一个自己写的代码都记不清的人,强烈推荐第 2 种模板结构。
    原创代码的项目用第 2 种,感觉调试模板起来方便一点,批量搜索多个 html 模板文件内容时,效率更高一点,搜索时可以忽略很多 .py 文件。
    要引用现成代码项目用第 1 种,复制粘贴的时候方便一点。其实还是用第 1 种好一点,不过多几步复制粘贴。
    对于眼睛盯着屏幕,双手就可以哒哒哒……打出代码的大牛,无所谓哪一种结构。作为调试星人的痛苦,谁是谁知道,随时都需要搜索,复制和粘贴。
    saulshao
        6
    saulshao  
    OP
       2019-03-14 15:32:39 +08:00
    @MrGba2z 这个链接让我有了更多理解,确实这更多取决于个人的选择。方式 1 的优点在于复制粘贴方便,方式 2 的优点则在于可以共享静态文件。
    @andylsr 则让我想到其实大多数的项目,都是可以合作开发的,尤其是开源项目。
    Harlaus
        7
    Harlaus  
       2019-10-22 10:57:14 +08:00
    第二种
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3168 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:22 · PVG 20:22 · LAX 04:22 · JFK 07:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.