diff --git a/frappe/templates/web.html b/frappe/templates/web.html
index 48fbce7cd1..df5ee9aeef 100644
--- a/frappe/templates/web.html
+++ b/frappe/templates/web.html
@@ -26,7 +26,7 @@
{% endif %}
-
+
{%- block page_content -%}{%- endblock -%}
diff --git a/frappe/website/page_renderers/error_page.py b/frappe/website/page_renderers/error_page.py
index 613809bfdc..6a3925967c 100644
--- a/frappe/website/page_renderers/error_page.py
+++ b/frappe/website/page_renderers/error_page.py
@@ -5,7 +5,13 @@ class ErrorPage(TemplatePage):
def __init__(self, path=None, http_status_code=None, exception=None):
path = "error"
super().__init__(path=path, http_status_code=http_status_code)
- self.http_status_code = getattr(exception, "http_status_code", None) or http_status_code or 500
+ self.exception = exception
def can_render(self):
return True
+
+ def init_context(self):
+ super().init_context()
+ self.context.http_status_code = getattr(self.exception, "http_status_code", None) or 500
+ self.context.error_title = getattr(self.exception, "title", None)
+ self.context.error_message = getattr(self.exception, "message", None)
diff --git a/frappe/website/page_renderers/template_page.py b/frappe/website/page_renderers/template_page.py
index 2ed8a62119..83f68d3716 100644
--- a/frappe/website/page_renderers/template_page.py
+++ b/frappe/website/page_renderers/template_page.py
@@ -212,19 +212,13 @@ class TemplatePage(BaseTemplatePage):
def run_pymodule_method(self, method_name):
if hasattr(self.pymodule, method_name):
- try:
- import inspect
+ import inspect
- method = getattr(self.pymodule, method_name)
- if inspect.getfullargspec(method).args:
- return method(self.context)
- else:
- return method()
- except (frappe.PermissionError, frappe.DoesNotExistError, frappe.Redirect):
- raise
- except Exception:
- if not frappe.flags.in_migrate:
- frappe.errprint(frappe.utils.get_traceback())
+ method = getattr(self.pymodule, method_name)
+ if inspect.getfullargspec(method).args:
+ return method(self.context)
+ else:
+ return method()
def render_template(self):
if self.template_path.endswith("min.js"):
diff --git a/frappe/www/error.html b/frappe/www/error.html
index d63daec759..142897c35a 100644
--- a/frappe/www/error.html
+++ b/frappe/www/error.html
@@ -23,15 +23,15 @@
- {{_("Uncaught Server Exception")}}
+ {{ error_title }}
-
{{_("There was an error building this page")}}
+
{{ error_message }}
- {{ _("Error Code: {0}").format('500') }}
+ {{ _("Error Code: {0}").format(http_status_code) }}