2013-03-14 4 views
2

Dans Django 1.5, mes pages fonctionnent correctement jusqu'à ce que j'essaie d'utiliser {% url%} pour afficher un lien. J'ai lu des documentations Django et j'ai regardé Stack Overflow mais je n'arrive pas à faire fonctionner mon objet.Django 1.5 NoReverseMatch at/blog/

Est-ce que quelqu'un voit ce que je fais mal ici?

Erreur I Get

NoReverseMatch at /blog/ 
Reverse for 'single' with arguments '(1,)' and keyword arguments '{}' not found. 

urls.py

urlpatterns = patterns('', 
    url(r'^$', blog, name = 'blog'), 
    url(r'^(?P<id>(\d+))/$', single, name = 'single') 
) 

blog.html

<a href="{% url 'single' o.id %}">Read More</a> 

SOLUTION

SOLUTION

SOLUTION

C'est ce stupide virgule!

<a href="{% url 'blog:single' o.id %}">Read More</a> 

urlpatterns = patterns('', 
    url(r'^$', blog, name = 'blog'), 
    url(r'^(?P<id>\d+)/$', single, name = 'single') 
) 
+1

Avez-vous essayé sans crochets ?: 'url (r '^ (? P \ d +)/$', unique, name = 'single')'? – danihp

+0

Et pour '{% url 'blog'%}' ça marche? – sneawo

+0

Aucun d'eux ne fonctionne, et cela ne fonctionne pas: 'url (r '^ $', blog, nom = 'blog')' et 'Read More' – JREAM

Répondre

2

Essayez:

urlpatterns = patterns('', 
    url(r'^(?P<id>\d+)/$', single, name='single') 
    url(r'^$', blog, name='blog') 
) 

Vous n'avez pas besoin entre parenthèses autour du motif \d+ dans ce cas.