From c92262f21074087f42afd11b73d38b5adbc5f01c Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sat, 27 Mar 2021 23:53:39 +0100 Subject: [PATCH] Catch 404 exception if current path cannot be resolved Closes #1 --- menu_generator/menu.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/menu_generator/menu.py b/menu_generator/menu.py index f772d44..cdc65a2 100755 --- a/menu_generator/menu.py +++ b/menu_generator/menu.py @@ -1,7 +1,7 @@ import copy import django -from django.core.exceptions import ImproperlyConfigured +from django.core.exceptions import ImproperlyConfigured, Resolver404 from .utils import get_callable, parse_url, path_startswith if django.VERSION >= (1, 10): # pragma: no cover @@ -109,8 +109,11 @@ class MenuBase(object): if path_startswith(self.path, related_url): return True # Resolve URL and check if it relates to a related views - if resolve(self.path).func in self._get_related_views(item_dict): - return True + try: + if resolve(self.path).func in self._get_related_views(item_dict): + return True + except Resolver404: + return False return False def _is_root(self, item_dict): -- GitLab