Django error inverso: NoReverseMatch

He visto muchas publicaciones diferentes, pero todas están trabajando con una versión diferente de django o parecen no funcionar. Esto es lo que estoy tratando de hacer:

urls.py (para todo el proyecto):

    from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
        url(r'^blog/', include('blog.urls', namespace="blog")),
        url(r'^admin/', include(admin.site.urls)),
    )

urls.py (específico para la aplicación):

urlpatterns = patterns ('' ,
url(r'^

views.py:

def index(request):
    posts = Post.objects.filter(published=True)
    return render(request,'blog/index.html',{'posts':posts})

def posts(request, slug):
    post = get_object_or_404(Post,slug=slug)
    return render(request, 'blog/post.html',{'post':post})

Y finalmente la plantilla:

 {% block title %} Blog Archive {% endblock %}

    {% block content %}
        <h1> My Blog Archive </h1>
        {% for post in posts %}
        <div class="post">
            <h2>
                <a href="{% url "postdetail" slug=post.slug %}">
                    {{post.title}}
                </a>
            </h2>
            <p>{{post.description}}</p>
            <p>
                Posted on
                <time datetime="{{post.created|date:"c"}}">
                    {{post.created|date}}
                </time>
            </p>
        </div>
        {% endfor %}
    {% endblock %}

Por alguna razón, esto me da una "No coincidencia inversa": reverso para 'postdetail' con argumentos '()' y argumentos de palabras clave '{u'slug': u'third '}' no encontrado. 0 patrones probados: []

Ya he intentado deshacerme de las comillas dobles alrededorpostdetail en la plantilla, y también he intentado referirme a ella por el nombre de la vista en lugar del nombre del patrón. Todavía no hay suerte. La documentación tampoco es muy útil.

¡La ayuda es realmente apreciada! Gracias

, views.index, name='index'), url(r'^(?P<slug>[\w\-]+)/

views.py:

def index(request):
    posts = Post.objects.filter(published=True)
    return render(request,'blog/index.html',{'posts':posts})

def posts(request, slug):
    post = get_object_or_404(Post,slug=slug)
    return render(request, 'blog/post.html',{'post':post})

Y finalmente la plantilla:

 {% block title %} Blog Archive {% endblock %}

    {% block content %}
        <h1> My Blog Archive </h1>
        {% for post in posts %}
        <div class="post">
            <h2>
                <a href="{% url "postdetail" slug=post.slug %}">
                    {{post.title}}
                </a>
            </h2>
            <p>{{post.description}}</p>
            <p>
                Posted on
                <time datetime="{{post.created|date:"c"}}">
                    {{post.created|date}}
                </time>
            </p>
        </div>
        {% endfor %}
    {% endblock %}

Por alguna razón, esto me da una "No coincidencia inversa": reverso para 'postdetail' con argumentos '()' y argumentos de palabras clave '{u'slug': u'third '}' no encontrado. 0 patrones probados: []

Ya he intentado deshacerme de las comillas dobles alrededorpostdetail en la plantilla, y también he intentado referirme a ella por el nombre de la vista en lugar del nombre del patrón. Todavía no hay suerte. La documentación tampoco es muy útil.

¡La ayuda es realmente apreciada! Gracias

, views.posts, name="postdetail"), )

views.py:

def index(request):
    posts = Post.objects.filter(published=True)
    return render(request,'blog/index.html',{'posts':posts})

def posts(request, slug):
    post = get_object_or_404(Post,slug=slug)
    return render(request, 'blog/post.html',{'post':post})

Y finalmente la plantilla:

 {% block title %} Blog Archive {% endblock %}

    {% block content %}
        <h1> My Blog Archive </h1>
        {% for post in posts %}
        <div class="post">
            <h2>
                <a href="{% url "postdetail" slug=post.slug %}">
                    {{post.title}}
                </a>
            </h2>
            <p>{{post.description}}</p>
            <p>
                Posted on
                <time datetime="{{post.created|date:"c"}}">
                    {{post.created|date}}
                </time>
            </p>
        </div>
        {% endfor %}
    {% endblock %}

Por alguna razón, esto me da una "No coincidencia inversa": reverso para 'postdetail' con argumentos '()' y argumentos de palabras clave '{u'slug': u'third '}' no encontrado. 0 patrones probados: []

Ya he intentado deshacerme de las comillas dobles alrededorpostdetail en la plantilla, y también he intentado referirme a ella por el nombre de la vista en lugar del nombre del patrón. Todavía no hay suerte. La documentación tampoco es muy útil.

¡La ayuda es realmente apreciada! Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta