Django-jet: 'jet' is not a registered namespace

Created on 19 Feb 2017  路  15Comments  路  Source: geex-arts/django-jet

Django Version:    1.10.5
Exception Type:    NoReverseMatch
Exception Value:   'jet' is not a registered namespace

Using Python3.5

Steps:

  • Run python3 -m pip install django-jet
  • Added 'jet' as the first element in the INSTALLED_APPS
  • Run python3 manage.py migrate

I am able to import jet using python3: python -c "import jet"

Most helpful comment

Exception Type:    NoReverseMatch
Exception Value:   'jet' is not a registered namespace

This is a URL configuration issue. In the install docs, we can see url(r'^jet/', include('jet.urls', 'jet')) added to urlpatterns: the last string is a URL namespace.

(That said, the docs seem to target older django versions, I don鈥檛 know if django-jet works with recent versions.)

All 15 comments

With the same setup the django-suit works fine.

I can also reproduce this issue:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/admin/

Django Version: 1.10.5
Python Version: 3.6.0
Installed Applications:
['jet',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'catalogs',
 'import_export',
 'location_field.apps.DefaultConfig',
 'django.contrib.admindocs']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']


Template error:
In template C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\contrib\admin\templates\admin\index.html, error at line 58
   'jet' is not a registered namespace   48 : {% endif %}
   49 : </div>
   50 : {% endblock %}
   51 : 
   52 : {% block sidebar %}
   53 : <div id="content-related">
   54 :     <div class="module" id="recent-actions-module">
   55 :         <h2>{% trans 'Recent actions' %}</h2>
   56 :         <h3>{% trans 'My actions' %}</h3>
   57 :             {% load log %}
   58 :              {% get_admin_l og 10 as admin_log for_user user %}
   59 :             {% if not admin_log %}
   60 :             <p>{% trans 'None available' %}</p>
   61 :             {% else %}
   62 :             <ul class="actionlist">
   63 :             {% for entry in admin_log %}
   64 :             <li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">
   65 :                 {% if entry.is_deletion or not entry.get_admin_url %}
   66 :                     {{ entry.object_repr }}
   67 :                 {% else %}
   68 :                     <a href="{{ entry.get_admin_url }}">{{ entry.object_repr }}</a>


Traceback:

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\urls\base.py" in reverse
  77.                 extra, resolver = resolver.namespace_dict[ns]

During handling of the above exception ('jet'), another exception occurred:

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\core\handlers\exception.py" in inner
  39.             response = get_response(request)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\core\handlers\base.py" in _get_response
  217.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\core\handlers\base.py" in _get_response
  215.                 response = response.render()

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\response.py" in render
  109.             self.content = self.rendered_content

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\response.py" in rendered_content
  86.         content = template.render(context, self._request)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\backends\django.py" in render
  66.             return self.template.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render
  208.                     return self._render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in _render
  199.         return self.nodelist.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render
  994.                 bit = node.render_annotated(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render_annotated
  961.             return self.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\loader_tags.py" in render
  174.         return compiled_parent._render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in _render
  199.         return self.nodelist.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render
  994.                 bit = node.render_annotated(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render_annotated
  961.             return self.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\loader_tags.py" in render
  174.         return compiled_parent._render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in _render
  199.         return self.nodelist.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render
  994.                 bit = node.render_annotated(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render_annotated
  961.             return self.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\loader_tags.py" in render
  174.         return compiled_parent._render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in _render
  199.         return self.nodelist.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render
  994.                 bit = node.render_annotated(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render_annotated
  961.             return self.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\loader_tags.py" in render
  70.                 result = block.nodelist.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render
  994.                 bit = node.render_annotated(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\base.py" in render_annotated
  961.             return self.render(context)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\template\defaulttags.py" in render
  439.             url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)

File "C:\Users\Ismael\Anaconda2\envs\begroup_logsys\lib\site-packages\django\urls\base.py" in reverse
  87.                     raise NoReverseMatch("%s is not a registered namespace" % key)

Exception Type: NoReverseMatch at /admin/
Exception Value: 'jet' is not a registered namespace

@f1nality Man, please.

@cprogrammer1994 it seems that we were both confused by the installation instructions.

Steps:

Run python3 -m pip install django-jet
Added 'jet' as the first element in the INSTALLED_APPS
Run python3 manage.py migrate

Notice you are lacking several steps to complete your installation 鈿狅笍

In my case I was following the installation instructions from the README, at the point of the warning I mistakenly understood that the bullet points below the warning where for pre 1.8 django:

It is easier to understand the installation instructions from the very well formatted and colored instructions at read the docs:

Please try the instructions again, it works.

My advise is to remove the installation instructions from the README, as they are redundant since the docs are linked above in the same document. Also this instructions can become out of sync with the docs easily.

If you guys agree, I can make a PR for that, cheers!

@Ismael-VC I think there is a problem with migrations file, but i'm not sure. Hey, if you can will better make a PR and @f1nality can review it.

Please come to the django-jet Discord server so we can organize if you like:

Welcome! 馃槃

please help me to r茅solve this problem
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\core\management__init__.py", line 364, in execute_from_command_line
utility.execute()
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\core\management__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\core\management\base.py", line 283, in run_from_argv
self.execute(args, *cmd_options)
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\core\management\base.py", line 330, in execute
output = self.handle(args, *options)
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\contrib\staticfiles\management\commands\collectstatic.py", line 199, in handle
collected = self.collect()
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\contrib\staticfiles\management\commands\collectstatic.py", line 124, in collect
handler(path, prefixed_path, storage)
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\contrib\staticfiles\management\commands\collectstatic.py", line 354, in copy_file
if not self.delete_file(path, prefixed_path, source_storage):
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\contrib\staticfiles\management\commands\collectstatic.py", line 260, in delete_file
if self.storage.exists(prefixed_path):
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\core\files\storage.py", line 392, in exists
return os.path.exists(self.path(name))
File "C:\Bitnami\djangostack-1.11.6-0\apps\django\django-1.11.6-py2.7.egg\django\contrib\staticfiles\storage.py", line 50, in path
raise ImproperlyConfigured("You're using the staticfiles app "
django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.

@f1nality

@dhouibkhouloud Hey, STATIC_ROOT setting to a filesystem path. Search it in google.
PD: You have to set your STATIC_ROOT.

python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
October 06, 2018 - 05:50:03
Django version 2.1.2, using settings 'djangoproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Not Found: /
[06/Oct/2018 05:50:15] "GET / HTTP/1.1" 404 2146
Internal Server Error: /admin/
Traceback (most recent call last):
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/urls/base.py", line 75, in reverse
extra, resolver = resolver.namespace_dict[ns]
KeyError: 'jet-dashboard'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/core/handlers/base.py", line 156, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/core/handlers/base.py", line 154, in _get_response
response = response.render()
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/response.py", line 106, in render
self.content = self.rendered_content
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/response.py", line 83, in rendered_content
content = template.render(context, self._request)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 171, in render
return self._render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 987, in render
output = self.filter_expression.resolve(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 671, in resolve
obj = self.var.resolve(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 796, in resolve
value = self._resolve_lookup(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 858, in _resolve_lookup
current = current()
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader_tags.py", line 76, in super
return mark_safe(self.render(self.context))
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/defaulttags.py", line 309, in render
return nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 987, in render
output = self.filter_expression.resolve(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 671, in resolve
obj = self.var.resolve(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 796, in resolve
value = self._resolve_lookup(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 858, in _resolve_lookup
current = current()
File "/home/md56/myenv/lib/python3.6/site-packages/jet/dashboard/dashboard.py", line 173, in render_tools
return render_to_string('jet.dashboard/dashboard_tools.html', context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/loader.py", line 62, in render_to_string
return template.render(context, request)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 171, in render
return self._render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/template/defaulttags.py", line 442, in render
url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
File "/home/md56/myenv/lib/python3.6/site-packages/Django-2.1.2-py3.6.egg/django/urls/base.py", line 86, in reverse
raise NoReverseMatch("%s is not a registered namespace" % key)
django.urls.exceptions.NoReverseMatch: 'jet-dashboard' is not a registered namespace
[06/Oct/2018 05:50:21] "GET /admin/ HTTP/1.1" 500 468713
Not Found: /admin/jet/
[06/Oct/2018 05:50:53] "GET /admin/jet/ HTTP/1.1" 404 4098
Not Found: /admin/jet/dashboard
[06/Oct/2018 05:50:59] "GET /admin/jet/dashboard HTTP/1.1" 404 4125

please help me with this

Was this ever solved?

Exception Type:    NoReverseMatch
Exception Value:   'jet' is not a registered namespace

This is a URL configuration issue. In the install docs, we can see url(r'^jet/', include('jet.urls', 'jet')) added to urlpatterns: the last string is a URL namespace.

(That said, the docs seem to target older django versions, I don鈥檛 know if django-jet works with recent versions.)

Yeah I found it in the end. Whoops.

I probably should have recognized the error lol. The joys of sleep deprivation.

By adding STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static") to the settings.py it worked fine ( :

reverse('jet-dashboard:update_module' is trying to reach the url /jet-dashboard or something with that namespace. Chances are your URL config looks like:

    re_path(r'^jet/', include(('jet.urls', 'jet'))),
    re_path(r'^jet/dashboard/', include(('jet.dashboard.urls', 'jet-dashboard'))),

It should look like:

    re_path(r'^jet/', include(('jet.urls', 'jet'))),
    re_path(r'^jet/dashboard/', include('jet.dashboard.urls', namespace='jet-dashboard')),

Pull request are welcomed.

Was this page helpful?
0 / 5 - 0 ratings