NoReverseMatch Exception : 'catalogue' is not a registered namespace

10 views
Skip to first unread message

Looped

unread,
Nov 19, 2025, 12:08:38 AM (14 days ago) Nov 19
to django-oscar

I'm getting the said error while accessing the oscar dashboard :

Here is where the issue Ive traced it back to

Error during template rendering : line 40

<a class="nav-link" href="{{ homepage_url }}"><i class="fas fa-home"></i> {% trans "Return to site" %}</a>

Raised during: | myproject.commerce.src.commerce.apps.dashboard.views.IndexView

Upon digging further , it pointed to this line.

OSCAR_HOMEPAGE = reverse_lazy("catalogue:index")

Here is the trace on my docker-compose

my-webserver-1 | KeyError: 'catalogue' my-webserver-1 | my-webserver-1 | During handling of the above exception, another exception occurred: my-webserver-1 | my-webserver-1 | Traceback (most recent call last): my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner my-webserver-1 | response = get_response(request) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 220, in _get_response my-webserver-1 | response = response.render() my-webserver-1 | ^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 114, in render my-webserver-1 | self.content = self.rendered_content my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 92, in rendered_content my-webserver-1 | return template.render(context, self._request) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/backends/django.py", line 61, in render my-webserver-1 | return self.template.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 171, in render my-webserver-1 | return self._render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render my-webserver-1 | return self.nodelist.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1000, in render my-webserver-1 | return SafeString("".join([node.render_annotated(context) for node in self])) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 961, in render_annotated my-webserver-1 | return self.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render my-webserver-1 | return compiled_parent._render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render my-webserver-1 | return self.nodelist.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1000, in render my-webserver-1 | return SafeString("".join([node.render_annotated(context) for node in self])) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 961, in render_annotated my-webserver-1 | return self.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render my-webserver-1 | return compiled_parent._render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render my-webserver-1 | return self.nodelist.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1000, in render my-webserver-1 | return SafeString("".join([node.render_annotated(context) for node in self])) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 961, in render_annotated my-webserver-1 | return self.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render my-webserver-1 | return compiled_parent._render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render my-webserver-1 | return self.nodelist.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1000, in render my-webserver-1 | return SafeString("".join([node.render_annotated(context) for node in self])) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 961, in render_annotated my-webserver-1 | return self.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render my-webserver-1 | result = block.nodelist.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1000, in render my-webserver-1 | return SafeString("".join([node.render_annotated(context) for node in self])) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 961, in render_annotated my-webserver-1 | return self.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render my-webserver-1 | result = block.nodelist.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1000, in render my-webserver-1 | return SafeString("".join([node.render_annotated(context) for node in self])) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 961, in render_annotated my-webserver-1 | return self.render(context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1065, in render my-webserver-1 | return render_value_in_context(output, context) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1042, in render_value_in_context my-webserver-1 | value = str(value) my-webserver-1 | ^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 119, in __str__ my-webserver-1 | return str(self.__cast()) my-webserver-1 | ^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 110, in __cast my-webserver-1 | return func(*self._args, **self._kw) my-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ my-webserver-1 | File "/usr/local/lib/python3.12/site-packages/django/urls/base.py", line 82, in reverse my-webserver-1 | raise NoReverseMatch("%s is not a registered namespace" % key) my-webserver-1 | django.urls.exceptions.NoReverseMatch: 'catalogue' is not a registered namespace

I'm able to access the django admin and see all models registered including the catalogue app. Now trying to access the dashboard. I have overridden the catalogue app in the manner as advised in the docs with a line at the bottom

from oscar.apps.catalogue.models import * # noqa: F403

Where could the issue be ?

Reply all
Reply to author
Forward
0 new messages