我有几个金字塔项目,我正在将其与包含如下行的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
,所以我制作了一个虚拟模块,一切似乎正常,但是我担心自己滥用了系统,正站在纸牌屋上。 / p>
有更好的方法吗?阅读有关资产规范https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/assets.html#asset-specifications或文档中链接的覆盖的文档并不能给我带来任何见识。
很明显,我也可以更新所有文件,但是我想知道我所做的工作是否安全以及是否有更好的方法来完成相同的事情。
答案 0 :(得分:0)
在Pyramid中,需要一个真实的模块前缀来覆盖资产,仅此而已。既然您已经制作了一个模块并保留了该名称空间,那么您所做的不是我认为对系统的滥用。