我有几个金字塔项目,我正在将其与包含如下行的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 中的 Assets 规范定义其他程序包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54273417/

10-12 22:33