对模板系统的优化建议 #23
liunux4odoo
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
当前模板系统存在的问题
建议
用好 jinja2 的模板继承功能:在文件系统中存储基础模板(base.html),提供所有必备的共用功能,如 cdn 资源加载等;不同风格的模板只需编写自定义的部分,存储在数据库中,通过前端页面进行编辑。在渲染的时候只需要使用 jinja2 的 FunctionLoader 把这两部分结合起来就可以。
这样修改可以尽量不改动现有的代码结构,只需修改一下模板的加载和渲染逻辑即可。
应用场景
我想改变所有模板的 cdn 地址,目前是必须把 DEFAULT_TEMPLATE 和 数据库里所有项目的 template_json 都手动修改一遍。
如果使用可继承的模板,我只需修改 base.html 即可,其他自定义模板无需修改。已经生成的项目可能还是要手动修改,除非 ppt 生成的时候也使用继承机制。
如果生成 ppt 也支持继承机制,还可以降低不少的 token 消耗。
Beta Was this translation helpful? Give feedback.
All reactions