Note that there are some explanatory texts on larger screens.

plurals
  1. PODjango NoReverseMatch Error in blog tutorial modification
    text
    copied!<p>I just did the Django blog tutorial found here: <a href="http://brenelz.com/blog/a-detailed-django-tutorial-blog-basics-part-iv/" rel="nofollow">Blog tutorial</a></p> <p>I am now trying to add a functionality that will count the number of views a blog post has received. To do that I added the following to views.py (note that views.py is completely empty in the tutorial because it uses Django generic views):</p> <pre><code>def detail_view(request, object_id): object = Post.objects.filter(id=object_id) object.update(counter = F('counter') + 1) return render_to_response('posts/post_detail.html', {'object':object}, context_instance=RequestContext(request)) </code></pre> <p>Not sure if I did that render_to_response correctly. My urls.py is now:</p> <pre><code>from models import Post queryset = {'queryset': Post.objects.order_by('-pub_date')} urlpatterns = patterns('', url('^$', 'django.views.generic.list_detail.object_list', queryset, name="posts"), url('^(?P&lt;object_id&gt;\d+)/$', 'posts.views.detail_view', name="post") </code></pre> <p>My post_list.html has the following code that creates a link to post_detail.html:</p> <pre><code>&lt;a href={% url post object.id %}&gt;{{ object.title }}&lt;/a&gt; </code></pre> <p>And the full error is:</p> <pre><code>&gt; Exception Value: Caught NoReverseMatch while rendering: Reverse for 'post' with arguments '('',)' and keyword arguments '{}' not found. Traceback: &gt; Environment: Request Method: GET Request URL: localhost:8000/1/ Django Version: 1.3 Python Version: 2.6.1 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.comments', 'django.contrib.admin', 'Blog.posts', 'Blog.categories'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfResponseMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') Template error: In template /Users/kevin/PycharmProjects/Blog/templates/posts/_post.html, error at line 3 Caught NoReverseMatch while rendering: Reverse for 'post' with arguments '('',)' and keyword arguments '{}' not found. 1 : &lt;div id=”object_{{ object.id }}”&gt; 2 : &lt;h2&gt; 3 : &lt;a href= {% url post object.id %} &gt;{{ object.title }}&lt;/a&gt; 4 : &lt;small&gt;{{ object.pub_date|timesince }} ago&lt;/small&gt; 5 : &lt;/h2&gt; 6 : {{ object.body }} 7 : &lt;/div&gt; Traceback: File "/Library/Python/2.6/site-packages/django/core/handlers/base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File "/Users/kevin/PycharmProjects/Blog/posts/views.py" in detail_view 12. return render_to_response('posts/post_detail.html', {'object':object}, context_instance=RequestContext(request)) File "/Library/Python/2.6/site-packages/django/shortcuts/__init__.py" in render_to_response 20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) File "/Library/Python/2.6/site-packages/django/template/loader.py" in render_to_string 188. return t.render(context_instance) File "/Library/Python/2.6/site-packages/django/template/base.py" in render 123. return self._render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Library/Python/2.6/site-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/Library/Python/2.6/site-packages/django/template/loader_tags.py" in render 127. return compiled_parent._render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Library/Python/2.6/site-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/Library/Python/2.6/site-packages/django/template/loader_tags.py" in render 64. result = block.nodelist.render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Library/Python/2.6/site-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/Library/Python/2.6/site-packages/django/template/loader_tags.py" in render 159. return self.render_template(self.template, context) File "/Library/Python/2.6/site-packages/django/template/loader_tags.py" in render_template 141. output = template.render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in render 123. return self._render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/Library/Python/2.6/site-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Library/Python/2.6/site-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/Library/Python/2.6/site-packages/django/template/defaulttags.py" in render 450. raise e Exception Type: TemplateSyntaxError at /1/ Exception Value: Caught NoReverseMatch while rendering: Reverse for 'post' with arguments '('',)' and keyword arguments '{}' not found. </code></pre> <p>I have been trying to figure out what's wrong for hours, but have not found an answer. I've read a bunch of stuff here on SO.com as well, but still no luck.</p> <p>Your help is much appreciated.</p> <p>Thanks!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload