Django NoReverseMatch at / '{'pk': ''}' not found
django make post detial page
NoReverseMatch at / Reverse for 'blog_detail' with keyword arguments '{'pk': ''}' not found. 1 pattern(s) tried: ['post/(?P[0-9]+)/\Z']
how can i fix it please help me
- 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})