Я пытаюсь выучить django, и при создании представления окна просмотра я обнаружил эту ошибку, говоря: Reverse for 'viewpost' with arguments '(1,)' not found. 1 pattern(s) tried: ['int:post\\.id$']
Я не понимаю, в чем заключается ошибка, которую я делаю
Views.py
from django.shortcuts import render
from .models import Post
# Create your views here.
def main(request):
return render(request, "blog/index.html", {"Posts":Post.objects.all()})
def viewpost(request):
return render(request, "blog/viewpost.html")
urls.py
from django.urls import path, include
from . import views
urlpatterns = [
path('',views.main, name = 'main'),
path('viewpost/int:pk/', views.viewpost, name = 'viewpost')
]
index. html
{% extends 'blog/layout.html' %}
{% block body %}
<h1>Physics Blog</h1>
{% for post in Posts %}
<fieldset>
<a href = "{% url 'viewpost' post.id %}"><h2>{{ post.Title }}</h2></a>
<a href = "{% url 'viewpost' post.id %}"><h4>{{ post.Description }}</h4></a>
<a href = "{% url 'viewpost' post.id %}"><h6>{{ post.Author }}</h6></a>
</fieldset>
<br>
{% endfor %}
{% endblock %}
viewpost. html
{% extends 'blog/layout.html' %}
{% block body %}
<h1>{{ post.Title }}</h1>
<h1>{{ post.Description }}</h1>
<h1>{{ post.Author }}</h1>
{% endblock %}