Skip to content

Instantly share code, notes, and snippets.

@AntelopeSalad
Last active January 4, 2016 09:19
Show Gist options
  • Save AntelopeSalad/8601112 to your computer and use it in GitHub Desktop.
Save AntelopeSalad/8601112 to your computer and use it in GitHub Desktop.
>>> from django.core.urlresolvers import reverse
>>> from apps.leads.urls import *
>>> reverse('detail', args=('a79b098c-8512-11e3-87ea-08002754d6c5',))
Traceback (most recent call last):
File "/usr/lib/python3.3/code.py", line 90, in runcode
exec(code, self.locals)
File "<console>", line 1, in <module>
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/core/urlresolvers.py", line 509, in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/core/urlresolvers.py", line 429, in _reverse_with_prefix
(lookup_view_s, args, kwargs, len(patterns), patterns))
django.core.urlresolvers.NoReverseMatch: Reverse for 'detail' with arguments '('a79b098c-8512-11e3-87ea-08002754d6c5',)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
{% for lead in lead_list %}
<li>
# This does not work, check the trace file for the exact error
<a href="{% url 'leads:detail' lead.pk %}">{{ lead.pk }}</a>
# This works
<a href="{{ lead.pk }}">{{ lead.pk }}</a>
# This works to ensure namespaces are working but it is clearly a silly example
<a href="{% url 'leads:list' %}">{{ lead.pk }}</a>
</li>
{% endfor %}
Environment:
Request Method: GET
Request URL: http://localhost:8000/leads/
Django Version: 1.6.1
Python Version: 3.3.2
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'south',
'debug_toolbar',
'django_extensions',
'apps.leads')
Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
'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 /home/nick/Development/Django/foo/apps/leads/templates/leads/lead_list.html, error at line 5
Reverse for 'detail' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['leads/(?i)(?P<pk>^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$']
1 : <p>A list of leads.</p>
2 :
3 : {% for lead in lead_list %}
4 : <li>
5 : <a href=" {% url 'leads:detail' %} ">{{ lead.id }}</a>
6 : </li>
7 : {% endfor %}
8 :
Traceback:
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/core/handlers/base.py" in get_response
139. response = response.render()
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/response.py" in render
105. self.content = self.rendered_content
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/response.py" in rendered_content
82. content = template.render(context)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/base.py" in render
140. return self._render(context)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/test/utils.py" in instrumented_test_render
85. return self.nodelist.render(context)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/defaulttags.py" in render
196. nodelist.append(node.render(context))
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/defaulttags.py" in render
447. six.reraise(*exc_info)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/utils/six.py" in reraise
491. raise value
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/template/defaulttags.py" in render
433. url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app)
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/core/urlresolvers.py" in reverse
509. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/home/nick/.virtualenvs/foo/local/lib/python3.3/dist-packages/django/core/urlresolvers.py" in _reverse_with_prefix
429. (lookup_view_s, args, kwargs, len(patterns), patterns))
Exception Type: NoReverseMatch at /leads/
Exception Value: Reverse for 'detail' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['leads/(?i)(?P<pk>^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$']
# leads/urls.py
urlpatterns = patterns('',
url(r'^$', views.ListView.as_view(), name='list'),
url(r'^(?i)(?P<pk>^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$',
views.DetailView.as_view(), name='detail'),
)
# myapp/urls.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^leads/', include('apps.leads.urls', namespace='leads')),
)
class ListView(generic.ListView):
model = Lead
class DetailView(generic.DetailView):
model = Lead
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment