【问题标题】:Is there a right way to define additional packages for asset specification in Pyramid?是否有正确的方法来为 Pyramid 中的资产规范定义附加包?
【发布时间】:2019-01-25 04:30:59
【问题描述】:

我有几个金字塔项目,我正在将它们组合成一个带有 jinja 文件的项目,这些文件的行如下:

{% extends 'some_project:templates/layout.jinja2'%}

{% extends 'other_project:templates/layout.jinja2'%}

如果我可以简单地将所有子项目文件放入子文件夹中,然后注册一个额外的资产规范,这样some_project:templates/ 就变成了combo_projects:templates/some_project/templates,而我不必接触任何模板,那就太好了。

我添加了...

config.override_asset(to_override='other_project:templates/', override_with='combo_projects:templates/some_project/templates'

...最初抱怨缺少模块 other_project,所以我制作了一个虚拟模块,一切似乎都可以正常工作,但我担心我滥用了系统并且正站在纸牌屋上。

有没有更好的方法来做到这一点?阅读有关资产规范 https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/assets.html#asset-specifications 或覆盖其中链接的文档并没有给我任何见解。

显然我也可以更新所有文件,我可能会这样做,但我想知道我所做的是否安全,以及是否有更好的方法来完成同样的事情。

【问题讨论】:

    标签: python pyramid


    【解决方案1】:

    在 Pyramid 中,需要一个真正的模块前缀来覆盖资产,仅此而已。既然您已经创建了一个模块并保留了该命名空间,那么您所做的并不是我认为的系统滥用。

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2015-02-08
      • 2013-12-25
      相关资源
      最近更新 更多