diff --git a/frappe/website/page_renderers/template_page.py b/frappe/website/page_renderers/template_page.py
index daa4d54cc5..84d376feb4 100644
--- a/frappe/website/page_renderers/template_page.py
+++ b/frappe/website/page_renderers/template_page.py
@@ -1,5 +1,5 @@
-import io
import os
+from importlib.machinery import all_suffixes
import click
@@ -17,6 +17,8 @@ from frappe.website.utils import (
is_binary_file,
)
+PY_LOADER_SUFFIXES = tuple(all_suffixes())
+
WEBPAGE_PY_MODULE_PROPERTIES = (
"base_template_path",
"template",
@@ -66,7 +68,11 @@ class TemplatePage(BaseTemplatePage):
return
def can_render(self):
- return hasattr(self, "template_path") and bool(self.template_path)
+ return (
+ hasattr(self, "template_path")
+ and self.template_path
+ and not self.template_path.endswith(PY_LOADER_SUFFIXES)
+ )
@staticmethod
def get_index_path_options(search_path):
diff --git a/frappe/website/utils.py b/frappe/website/utils.py
index 244fd010b6..71af463c96 100644
--- a/frappe/website/utils.py
+++ b/frappe/website/utils.py
@@ -12,7 +12,7 @@ from werkzeug.wrappers import Response
import frappe
from frappe import _
from frappe.model.document import Document
-from frappe.utils import cint, get_assets_json, get_time_zone, md_to_html
+from frappe.utils import cint, get_assets_json, get_system_timezone, md_to_html
FRONTMATTER_PATTERN = re.compile(r"^\s*(?:---|\+\+\+)(.*?)(?:---|\+\+\+)\s*(.+)$", re.S | re.M)
H1_TAG_PATTERN = re.compile("