python - 是否有正确的方法来为 Pyramid 中的资产规范定义附加包?
问题描述
我有几个金字塔项目,我将它们组合成一个带有 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'
...最初抱怨缺少 module other_project
,所以我做了一个虚拟模块,一切似乎都有效,但我担心我滥用了系统并且正站在纸牌屋上。
有一个更好的方法吗?阅读有关资产规范的文档https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/assets.html#asset-specifications或其中的覆盖链接并没有给我任何见解。
显然我也可以更新所有文件,我可能会这样做,但我想知道我所做的是否安全,以及是否有更好的方法来完成同样的事情。
解决方案
在 Pyramid 中,需要一个真正的模块前缀来覆盖资产,仅此而已。既然您已经创建了一个模块并保留了该名称空间,那么您所做的并不是我认为的系统滥用。
推荐阅读
- javascript - 如何将元素列表传递给 post 方法?
- c# - 如何在 Windows 服务中执行 SQL 命令?
- javascript - 将标头发送到客户端 nunjucks/express 后无法设置标头
- android - 如何在 Facebook 开发者工具包的帮助下在 android 的登录屏幕上进行会话?
- .htaccess - htaccess - 重定向条件不适用于本地主机
- java - java.io.IOException 疑难解答:服务器返回 HTTP 响应代码:503
- javascript - 获取触发AOS自定义事件的元素
- java - Android SQLite 错误:变量号必须介于 ?1 和 ?999 之间
- java - ftp 检索文件时是否需要临时文件?
- django - Django 无法使用 inspectdb 对遗留数据库进行建模