NoReverseMatch at / Reverse for 'entry_detail' with arguments '()' and keyword arguments '{'slug': ''}' not found

NoReverseMatch at / Reverse for 'entry_detail' with arguments '()' and keyword arguments '{'slug': ''}' not found

我在这里翻阅了很多标题,但没有找到解决问题的确切答案 错误指向 {% url "entry_detail" slug=object.slug %}... 这里是 home.html

{% extends 'base.html' %}
{% block blog_entries %}
 <a href="{% url "entry_detail" slug=object.slug %}">
<figure>
            <img src="{{ MEDIA_URL }}{{ object.image }}" />
            <svg viewBox="0 0 180 320" preserveAspectRatio="none"><path d="M 0 0 L 0 182 L 90 126.5 L 180 182 L 180 0 L 0 0 z "/></svg>
                    <figcaption>
                        <h2>{{ object.title }}</h2>
                        <button>Read</button>
                    </figcaption>
        </figure>
 </a>
{% endblock %}

views.py

from django.views import generic
from django.views.generic import TemplateView
from blog import models
class BlogIndex(generic.ListView):
queryset = models.Entry.objects.published()
template_name = "home.html"
class BlogDetail(generic.DetailView):
model = models.Entry
template_name = "post.html"

urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from blog import views
from django.conf import settings
urlpatterns = patterns('',
url(r'^$', views.BlogIndex.as_view(), name="index"),
url(r'^admin/', include(admin.site.urls)),
url(r'^entry/(?P<slug>/S+)$', views.BlogDetail.as_view(), name="entry_detail"),
)

models.py

@models.permalink
def get_absolute_url(self):
    return reverse("entry_detail", kwargs={"slug": self.slug})

尝试...将 slug 作为位置参数传递到模板中。

{% url 'entry_detail' object.slug %}