﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
19091	NoReverseMatch template errors are difficult to debug	Alper Cugun	nobody	"I've been using django for ages and I'd never really used {% url %} before and now I know why. First the transition to 1.5 URL names' and the rest of the documentation is a bit of a mess, but that is not what this bug is about.

If your URL tag can't find something useful this is the error message you receive:

NoReverseMatch at /
Reverse for 'topic_detail' with arguments '(2, u'professor-wever')' and keyword arguments '{}' not found.

(Full paste log attached.)


For somebody not wholly familiar with this system this error message which only outputs  a traceback from the template renderer this error message is not very helpful. Could this be improved? (Not for me I've learnt my lesson, but I imagine this is going to cause tons of frustration to any new learners.)






Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/

Django Version: 1.4
Python Version: 2.7.1
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'south',
 'boogie',
 'django.contrib.admin')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')


Template error:
In template /Users/alper/Documents/projects/sake/victory/templates/boogie/index.html, error at line 8
   Reverse for 'topic_detail' with arguments '(2, u'professor-wever')' and keyword arguments '{}' not found.
   1 : {% extends ""base.html"" %}


   2 : {% load url from future %}


   3 : 


   4 : {% block content %}


   5 :     <h1>Frontpage</h1>


   6 : 


   7 :     {% for topic in topics %}


   8 :         Onderwerp: <a href="" {% url 'topic_detail' topic.id topic.slug %} "">{{ topic.title }}</a><br>


   9 :     {% endfor %}


   10 :     


   11 :     <h1>Bijdragen</h1>


   12 : 


   13 : 	{% for piece in pieces %}


   14 : 		{{ piece.text }}<br>


   15 : 	{% endfor %}    


   16 :     


   17 : {% endblock %}

Traceback:
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/core/handlers/base.py"" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File ""/Users/alper/Documents/projects/sake/victory/boogie/views.py"" in index
  20.     return HttpResponse(t.render(c))
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/base.py"" in render
  140.             return self._render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/base.py"" in _render
  134.         return self.nodelist.render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/base.py"" in render
  823.                 bit = self.render_node(node, context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/debug.py"" in render_node
  74.             return node.render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/loader_tags.py"" in render
  123.         return compiled_parent._render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/base.py"" in _render
  134.         return self.nodelist.render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/base.py"" in render
  823.                 bit = self.render_node(node, context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/debug.py"" in render_node
  74.             return node.render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/loader_tags.py"" in render
  62.             result = block.nodelist.render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/base.py"" in render
  823.                 bit = self.render_node(node, context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/debug.py"" in render_node
  74.             return node.render(context)
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/defaulttags.py"" in render
  185.                         nodelist.append(node.render(context))
File ""/Users/alper/Documents/projects/sake/victory/venv/lib/python2.7/site-packages/django/template/defaulttags.py"" in render
  424.                         raise e

Exception Type: NoReverseMatch at /
Exception Value: Reverse for 'topic_detail' with arguments '(2, u'professor-wever')' and keyword arguments '{}' not found.
"	Cleanup/optimization	closed	Core (URLs)	1.4	Normal	duplicate		HM	Accepted	0	0	0	0	0	1
