Giter Club home page Giter Club logo

django-navutils's People

Contributors

eliotberriot avatar ohrstrom avatar powderflask avatar quevon24 avatar thperret avatar wgordon17 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

django-navutils's Issues

Example menu raises 'str' object has no attribute 'values'

Hello,
i have try to install the app but i get this error (http://dpaste.com/3FW74F8):

Environment:


Request Method: GET
Request URL: http://progeek.go.ro/

Django Version: 1.8.4
Python Version: 2.7.9
Installed Applications:
('material',
 'material.frontend',
 'admin_tools',
 'admin_tools.theming',
 'admin_tools.menu',
 'admin_tools.dashboard',
 'django.contrib.auth',
 'django.contrib.sites',
 'django.contrib.admin',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admindocs',
 'django_extensions',
 'navutils',
 'djcopyright',
 'registration',
 'watchman',
 'rest_framework',
 'rest_framework_swagger',
 'main_core_api',
 'geotools',
 'tiny_url',
 'dashboard_main',
 'debug_toolbar')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'material.frontend.middleware.SmoothNavigationMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware')


Template error:
In template /mnt/usb500G/pyProjectsEnv/proGeekAPI/dashboard_main/templates/materials/fragments/material_top_header.html, error at line 20
   'str' object has no attribute 'values'

   10 :         <div class="android-search-box mdl-textfield mdl-js-textfield mdl-textfield--expandable mdl-textfield--floating-label mdl-textfield--align-right mdl-textfield--full-width">



   11 :             <label class="mdl-button mdl-js-button mdl-button--icon" for="search-field">



   12 :                 <i class="material-icons">search</i>



   13 :             </label>



   14 :             <div class="mdl-textfield__expandable-holder">



   15 :                 <input class="mdl-textfield__input" type="text" id="search-field" />



   16 :             </div>



   17 :         </div>



   18 :         <!-- Navigation -->



   19 :         <div class="android-navigation-container">



   20 :              {% render_menu menu=menus.main user=request.user %} 



   21 :         </div>



   22 :         <button class="android-more-button mdl-button mdl-js-button mdl-button--icon mdl-js-ripple-effect" id="more-button">



   23 :             <i class="material-icons">more_vert</i>



   24 :         </button>



   25 :         <ul class="mdl-menu mdl-js-menu mdl-menu--bottom-right mdl-js-ripple-effect" for="more-button">



   26 :             <li class="mdl-menu__item">5.0 Lollipop</li>



   27 :             <li class="mdl-menu__item">4.4 KitKat</li>



   28 :             <li disabled class="mdl-menu__item">4.3 Jelly Bean</li>



   29 :             <li class="mdl-menu__item">Android History</li>



   30 :         </ul>


Traceback:
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/mnt/usb500G/pyProjectsEnv/proGeekAPI/dashboard_main/views.py" in home
  7.    return render(request, 'home.html')
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/shortcuts.py" in render
  67.             template_name, context, request=request, using=using)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  99.         return template.render(context, request)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  74.         return self.template.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  209.                     return self._render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  65.                 result = block.nodelist.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  159.                 return template.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  211.                 return self._render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  1195.                     return func(*resolved_args, **resolved_kwargs)
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templatetags/navutils_tags.py" in render_menu
  20.     viewable_nodes = [node for node in menu.values() if node.is_viewable_by(user, context)]

Exception Type: AttributeError at /
Exception Value: 'str' object has no attribute 'values'

i have put the menu.py inside my app dir, but i guess the app is not searching right for the menu.py file location,
can you help me?

'str' object has no attribute 'is_viewable_by'

New error:
Environment:

Request Method: GET

Django Version: 1.8.4
Python Version: 2.7.9
Installed Applications:
('material',
'material.frontend',
'admin_tools',
'admin_tools.theming',
'admin_tools.menu',
'admin_tools.dashboard',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admindocs',
'django_extensions',
'navutils',
'djcopyright',
'registration',
'watchman',
'rest_framework',
'rest_framework_swagger',
'main_core_api',
'geotools',
'tiny_url',
'dashboard_main',
'debug_toolbar')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'material.frontend.middleware.SmoothNavigationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware')

Template error:
In template /mnt/usb500G/pyProjectsEnv/proGeekAPI/dashboard_main/templates/materials/navutil/material_top_menu.html, error at line 4
'str' object has no attribute 'is_viewable_by'

1 : {% load navutils_tags %}

2 :

3 : {% for menu_node in viewable_nodes %}

4 : {% render_node node=material_top_menu_node user=request.user %}

5 : {% endfor %}

6 :

Traceback:
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1.                 response = wrapped_callback(request, _callback_args, *_callback_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekAPI/dashboard_main/views.py" in index
  2. return render(request, 'home.html')
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/shortcuts.py" in render
  3.         template_name, context, request=request, using=using)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  4.     return template.render(context, request)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  5.     return self.template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  6.                 return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  7. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  8.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  9.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  10.     return compiled_parent._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  11. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  12.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  13.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  14.     return compiled_parent._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  15. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  16.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  17.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  18.             result = block.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  19.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  20.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  21.             return template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  22.             return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  23. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  24.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  25.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  26.                 return func(_resolved_args, *_resolved_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templatetags/navutils_tags.py" in render_menu
  27. return t.render(template.Context(final_context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  28.     return self.template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  29.                 return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  30. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  31.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  32.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  33.                         nodelist.append(node.render(context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  34.                 return func(_resolved_args, *_resolved_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templatetags/navutils_tags.py" in render_node
  35. return t.render(template.Context(final_context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  36.     return self.template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  37.                 return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  38. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  39.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  40.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  41.                         nodelist.append(node.render(context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  42.                 return func(_resolved_args, *_resolved_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templatetags/navutils_tags.py" in render_node
  43. if not node.is_viewable_by(user, context):
    

Exception Type: AttributeError at /
Exception Value: 'str' object has no attribute 'is_viewable_by'

menu.py
from navutils import menu

main_menu = menu.Menu('main')
menu.register(main_menu)

will be shown to everybody

blog = menu.Node(
id='blog',
label='Blog',
pattern_name='api:index',
template='materials/navutil/material_top_menu.html',
)
main_menu.register(blog)

nodes created with a pattern_name argument will use django reverse

assert blog.get_url() == '/'

if you want to disable reversion, use the url argument

django = menu.Node(
id='django',
label='Django project',
url='http://djangoproject.com',
link_attrs={'target': '_blank'}
)

Each node instance can accept an arbitrary number of children

blog.add(
menu.Node(
id='last_entries',
label='Last entries',
pattern_name='api:index'
)
)
blog.add(
menu.Node(
id='archives',
label='Archives',
pattern_name='api:index'
)
)

menu.html

{% load navutils_tags %}
<nav class="android-navigation mdl-navigation {{ menu.id }}-menu">
    {% for menu_node in viewable_nodes %}
       {% render_node node=material_top_menu_node user=user %}
    {% endfor %}
</nav>

node.html

{% load navutils_tags %}
##<a href="{{ node.get_url }}"{% for attr, value in node.link_attrs.items %} {{ attr }}="{{ value }}"{% endfor %}>{% block node_label %}{{ node.label }}{% endblock %}</a>

Cannot handle apps with a custom AppConfig in `INSTALLED_APPS`

When specifying a customer AppConfig in one's package, and adding the INSTALLED_APPS like

INSTALLED_APPS = [
    ...
    'my_app.apps.CustomAppConfig',
    ...
]

The autodiscover method with bork with

ModuleNotFoundError: No module named 'my_app.apps.CustomAppConfig'; 'my_app.apps' is not a package

This method of specifying the INSTALLED_APPS as above can be expected in any Django >= 1.7 application (https://docs.djangoproject.com/en/2.1/ref/applications/#configuring-applications). The obvious workaround for users is to specify a default_app_config, however you can't always expect users to be able to do that, especially if they configure multiple AppConfig's.

Resolve deprecated features for django3.2

I think there's only one deprecated item - that is easy to fix.
Will also need to update tox to include tests for django3.2 and python 3.8 / 3.9

Consider removing support for python2.x, < python3.7, <django2.2 ?

I am assembling a pull request - let me know if you'd like me to include removing support for unsupported versions, otherwise I'll just add support for django3.2 and python3.8, 3.9

AttributeError: 'list' object has no attribute 'add'

a new error is rised:

Traceback (most recent call last):
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 507, in spawn_worker
    worker.init_process()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 192, in init_process
    super(GeventWorker, self).init_process()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 118, in init_process
    self.wsgi = self.app.wsgi()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gunicorn/util.py", line 355, in import_app
    __import__(module)
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gevent/builtins.py", line 58, in __import__
    result = _import(*args, **kwargs)
  File "/mnt/usb500G/pyProjectsEnv/proGeekAPI/proGeekAPI/wsgi.py", line 16, in <module>
    application = get_wsgi_application()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
    django.setup()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/apps.py", line 10, in ready
    menu.registry.autodiscover(settings.INSTALLED_APPS)
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/persisting_theory/registries.py", line 107, in autodiscover
    module = __import__(package)
  File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/gevent/builtins.py", line 58, in __import__
    result = _import(*args, **kwargs)
  File "/mnt/usb500G/pyProjectsEnv/proGeekAPI/dashboard_main/menu.py", line 20, in <module>
    blog.children.add(
AttributeError: 'list' object has no attribute 'add'

Menu file:

menu.py
from navutils import menu

main_menu = menu.Menu('main')
menu.register(main_menu)

# will be shown to everybody
blog = menu.Node(id='blog', label='Blog', pattern_name='blog:index')
main_menu.register(blog)

# nodes created with a pattern_name argument will use django reverse
#assert blog.get_url() == '/blog'

# if you want to disable reversion, use the url argument
django = menu.Node(id='django',
                   label='Django project',
                   url='http://djangoproject.com',
                   link_attrs={'target': '_blank'})

# Each node instance can accept an arbitrary number of children
blog.children.add(
    menu.Node(id='last_entries',
              label='Last entries',
              pattern_name='blog:last_entries')
)
blog.children.add(
    menu.Node(id='archives', label='Archives', pattern_name='blog:archives')
)

# will be shown to anonymous users only
login = menu.AnonymousNode(id='login',
                           label='Login',
                           pattern_name='accounts_login',
                           link_attrs={'class': 'big-button'})
main_menu.register(login)

# will be shown to authenticated users only
logout = menu.AuthenticatedNode(id='logout',
                                label='Logout',
                                pattern_name='accounts_logout')
main_menu.register(logout)

Reverse for 'accounts_login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Environment:

Request Method: GET

Django Version: 1.8.4
Python Version: 2.7.9
Installed Applications:
('material',
'material.frontend',
'admin_tools',
'admin_tools.theming',
'admin_tools.menu',
'admin_tools.dashboard',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admindocs',
'django_extensions',
'rosetta',
'navutils',
'djcopyright',
'registration',
'watchman',
'rest_framework',
'rest_framework_swagger',
'main_core_api',
'geotools',
'tiny_url',
'dashboard_main',
'debug_toolbar')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'material.frontend.middleware.SmoothNavigationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware')

Template error:
In template /mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templates/navutils/node.html, error at line 6
Reverse for 'accounts_login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

1 : {% load navutils_tags %}

2 :

3 : <li

4 : class="{% block node_class %}menu-item{% if node.css_class %} {{ node.css_class }}{% endif %}{% if is_current %} {{ menu_config.CURRENT_MENU_ITEM_CLASS }}{% endif %}{% if has_current %} {{ menu_config.CURRENT_MENU_ITEM_PARENT_CLASS }}{% endif %}{% if viewable_children %} has-children has-dropdown{% endif %}{% endblock %}"

5 : {% for attr, value in node.attrs.items %} {{ attr }}="{{ value }}"{% endfor %}>

6 : <a href=" {{ node.get_url }} "{% for attr, value in node.link_attrs.items %} {{ attr }}="{{ value }}"{% endfor %}>{% block node_label %}{{ node.label }}{% endblock %}

7 : {% if viewable_children %}

8 :

    9 : {% for children_node in viewable_children %}

    10 : {% render_node node=children_node current_depth=current_depth|add:'1' %}

    11 : {% endfor %}

    12 :

13 : {% endif %}

14 :

15 :

Traceback:
File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1.             response = response.render()
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/response.py" in render
  2.         self.content = self.rendered_content
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
  3.     content = template.render(context, self._request)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  4.     return self.template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  5.                 return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  6. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  7.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  8.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  9.     return compiled_parent._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  10. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  11.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  12.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  13.     return compiled_parent._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  14. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  15.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  16.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  17.             result = block.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  18.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  19.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  20.             return template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  21.             return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  22. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  23.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  24.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  25.                 return func(_resolved_args, *_resolved_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templatetags/navutils_tags.py" in render_menu
  26. return t.render(template.Context(final_context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  27.     return self.template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  28.                 return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  29. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  30.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  31.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  32.                         nodelist.append(node.render(context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  33.                 return func(_resolved_args, *_resolved_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/templatetags/navutils_tags.py" in render_node
  34. return t.render(template.Context(final_context))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  35.     return self.template.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  36.                 return self._render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  37. return self.nodelist.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in render
  38.             bit = self.render_node(node, context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  39.         return node.render(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/debug.py" in render
  40.         output = self.filter_expression.resolve(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  41.             obj = self.var.resolve(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  42.         value = self._resolve_lookup(context)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/template/base.py" in _resolve_lookup
  43.                         current = current()
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/navutils/menu.py" in get_url
  44.         return reverse(self.pattern_name, kwargs=expected_kwargs)
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
  45. return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, _args, *_kwargs)))
    
    File "/mnt/usb500G/pyProjectsEnv/proGeekEnv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
  46.                          (lookup_view_s, args, kwargs, len(patterns), patterns))
    

Exception Type: NoReverseMatch at /
Exception Value: Reverse for 'accounts_login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.