最后更新时间:2026-09-22 19:06:40
为了性能,模板解析结果会被缓存。启动时视图缓存的开关由配置项 view_reload 决定:
view_reload: false # 默认:启用模板缓存,性能好
view_reload: true # 关闭模板缓存,改完立即生效,性能差所以直接在服务器上改磁盘上的模板文件,前台可能完全没反应——不是你改错了,是进程还在用缓存里的旧模板。
| 改法 | 是否立即生效 | 说明 |
|---|---|---|
| 后台「模板管理」在线编辑保存 | 是 | 保存后系统会禁用视图缓存 30 秒,到点自动恢复,不需要重启 |
直接改磁盘文件 + view_reload: true | 是 | 每次请求都重新解析模板,适合开发调试 |
直接改磁盘文件 + view_reload: false | 否 | 需要重启服务,或临时打开 view_reload |
后台在线编辑之所以能立刻看到效果,是因为保存、重命名、删除等模板操作都会调用同一个「临时禁用缓存」逻辑,窗口是固定的 30 秒。这意味着:
推荐做法:开发调试期开 view_reload,上线后关掉。长期开着会让每次请求都重新解析模板,白白消耗 CPU。
按这个顺序一层层排除,不要一上来就重启:
ThemeRootDir() 解析出的当前主题,改了别的主题目录当然没用。打开 view_reload 后,模板渲染出错时页面会显示详细的错误信息,而不是只给一个 500。改模板时强烈建议开着,能省掉大量翻日志的时间。上线前记得关掉。
「改模板不生效」和「改内容不生效」是两回事:
先分清是哪种,能省掉一半排查时间。