Django NoReverseMatch at / '{'pk': ''}'' not found

django make post detial page

NoReverseMatch at / Reverse for 'blog_detail' with keyword arguments '{'pk': ''}'' not found. Проверен 1 шаблон(ы): ['post/(?P[0-9]+)/\Z']

как я могу это исправить, пожалуйста, помогите мне

  • templates
<header class="mb-4">
      {% for list in postlist %}
      <!-- Post title-->
      h1><a href="{% url 'blog_detail' pk=post.pk %}" class="fw-bolder mb-1">{{list.title}</a</h1>

  • urls
from . import views

urlpatterns = [
    path('', views.index, name='index'),

    path('post/<int:pk>/', views.blog_detail, name='blog_detail'),

]
  • views
from .models import Post
from django.shortcuts import render, get_object_or_404


def index(request):
    postlist = Post.objects.all()
    return render(request, 'main/blog_post_list.html', {'postlist':postlist})

def blog_detail(request, pk):
    post = get_object_or_404(Post, pk=pk)
    return render(request, 'main/blog_detail.html', {'post': post})
Вернуться на верх