From e768f679ff9655c3546ee4ec94ee619ca4f17f68 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Tue, 14 Jan 2025 18:11:27 +0530 Subject: [PATCH] perf: Speedup rendering of simple templates Also, slowdown rendering of complex ones. Nothing comes free. --- frappe/website/page_renderers/template_page.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frappe/website/page_renderers/template_page.py b/frappe/website/page_renderers/template_page.py index d3b2b07506..55243ab5db 100644 --- a/frappe/website/page_renderers/template_page.py +++ b/frappe/website/page_renderers/template_page.py @@ -148,7 +148,7 @@ class TemplatePage(BaseTemplatePage): def setup_template_source(self): """Setup template source, frontmatter and markdown conversion""" - self.source = self.get_raw_template() + self.original_source = self.source = self.get_raw_template() self.extract_frontmatter() self.convert_from_markdown() @@ -233,7 +233,10 @@ class TemplatePage(BaseTemplatePage): else: safe_render = True - html = frappe.render_template(self.source, self.context, safe_render=safe_render) + src_modified = self.source is not self.original_source + html = frappe.render_template( + self.source if src_modified else self.context.template, self.context, safe_render=safe_render + ) return html