Błąd odwrotny Django: NoReverseMatch

Sprawdziłem wiele różnych postów, ale wszystkie albo działają z inną wersją django, albo nie działają. Oto, co próbuję zrobić:

urls.py (dla całego projektu):

    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 (specyficzne dla aplikacji):

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})

I wreszcie szablon:

 {% 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 %}

Z jakiegoś powodu daje mi to „Bez odwrotnego dopasowania”: Odwróć dla „postdetail” z argumentami „()” i nie znaleziono argumentów „{u'slug”: u'third ”}. 0 wypróbowanych wzorów: []

Próbowałem już pozbyć się podwójnych cytatówpostdetail w szablonie, a ja próbowałem odwoływać się do niego przez nazwę widoku zamiast nazwy wzorca. Wciąż nie ma szczęścia. Dokumentacja też nie jest zbyt pomocna.

Pomoc jest naprawdę doceniana! Dzięki

, 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})

I wreszcie szablon:

 {% 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 %}

Z jakiegoś powodu daje mi to „Bez odwrotnego dopasowania”: Odwróć dla „postdetail” z argumentami „()” i nie znaleziono argumentów „{u'slug”: u'third ”}. 0 wypróbowanych wzorów: []

Próbowałem już pozbyć się podwójnych cytatówpostdetail w szablonie, a ja próbowałem odwoływać się do niego przez nazwę widoku zamiast nazwy wzorca. Wciąż nie ma szczęścia. Dokumentacja też nie jest zbyt pomocna.

Pomoc jest naprawdę doceniana! Dzięki

, 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})

I wreszcie szablon:

 {% 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 %}

Z jakiegoś powodu daje mi to „Bez odwrotnego dopasowania”: Odwróć dla „postdetail” z argumentami „()” i nie znaleziono argumentów „{u'slug”: u'third ”}. 0 wypróbowanych wzorów: []

Próbowałem już pozbyć się podwójnych cytatówpostdetail w szablonie, a ja próbowałem odwoływać się do niego przez nazwę widoku zamiast nazwy wzorca. Wciąż nie ma szczęścia. Dokumentacja też nie jest zbyt pomocna.

Pomoc jest naprawdę doceniana! Dzięki

questionAnswers(1)

yourAnswerToTheQuestion