找不到带有关键字参数 '{'pk': 11}' 的 'detail_view' - (使用 Slug 字段)

Reverse for 'detail_view' with keyword arguments '{'pk': 11}' not found - ( Using Slug field )

我正在构建一个 BlogApp,但遇到错误。

我正在尝试做什么:-

我只是将 slug 添加到我的模型中,还更新了 get_absolute_urlurl

但是之后每当我尝试在浏览器中打开页面时它都会显示

Reverse for 'detail_view' with keyword arguments '{'pk': 11}' not found. 1 pattern(s) tried: ['detail_view/(?P[-a-zA-Z0-9_]+)/(?P[0-9]+)$']

models.py

class Post(models.Model):
    post_owner = models.ForeignKey(User,default='',null=True,on_delete = models.CASCADE)
    post_title = models.CharField(max_length=500,default='')
    slug = models.SlugField(null=True)

    def get_absolute_url(self):
        return reverse('detail_view',kwargs={'pk':self.pk,'slug':self.slug})

views.py

def detail_view(request,pk,slug):
    data = get_object_or_404(Post,pk=pk)

urls.py

 path('detail_view/<slug:slug>/<int:pk>',views.detail_view,name='detail_view'),

template.html

<a href="{% url 'detail_view' pk=topic.pk  %}">More</a><br>

我不知道是什么导致了这个错误。

如有任何帮助,我们将不胜感激 提前致谢

您还必须在模板 url 标签中提供 slug slug=topic.slug:

<a href="{% url 'detail_view' slug=topic.slug pk=topic.pk  %}">More</a><br>

或使用您模型的get_absolute_url方法:

<a href="{{ topic.get_absolute_url }}">More</a><br>