Почему я получаю ошибку NoReverseMatch при работе с проектами для начинающих с github в Django 4.0.6?
Я получаю ошибку NoReverseMatch после добавления первичного ключа к ссылкам URL в файле urls.py. пожалуйста, решите эту проблему. Я новичок в программировании, поэтому не смог найти решение этой проблемы. Спасибо за ваше время и усилия. Я получил это упражнение с Github. Код написан ниже.
settings.py
Отредактируйте файл urls.py:
from django.contrib import admin
from django.urls import path
from g7app.views import CreatePost,View1,View2,EditPost,DeleteView,CreatePost
app_name = 'my_app' #add this line
urlpatterns = [
path('admin/', admin.site.urls),
path("",View1.as_view(),name="home"),
path("post/<int:pk>/",View2.as_view(),name="post_detail"),
path("post/<int:pk>/post_edit/",EditPost.as_view(),name="post_edit"),
path("post/<int:pk>/post_delete/",DeleteView.as_view(),name="post_delete"),
path("post/new/",CreatePost.as_view(),name="post_new"),
]
Отредактируйте файл base.html:
<!DOCTYPE HTML>
<HTML>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Blog Application</h1>
{% block c1 %}
<!-- here I added app_name to url -->
<h2><a href="{% url 'my_app:post_new' %}">+Create_Post</a></h2>
{% endblock c1 %}
</body>
</html>
Отредактируйте свой файл home.html
<!DOCTYPE HTML>
{% extends "base.html" %}
{% block c1 %}
{% for Student in con1 %}
<!-- here I added app_name to url -->
<h2><a href="{% url 'my_app:post_detail' Student.pk %}">{{Student.name}}</a></h2>
<h4>{{Student.description}}</h4>
{% endfor %}
{% endblock c1 %}
Отредактируйте свой post_detail.html
{% extends "base.html" %}
{% block c1 %}
<div>
<h2>{{con2.name}}</h2>
<h4>{{con2.description}}</h4>
</div>
<!-- here I added app_name to urls -->
<p><a href="{% url 'my_app:post_edit' Student.pk %}">Edit post</a></p>
<p><a href="{% url 'my_app:post_delete' Student.pk %}">Delete post</a></p>
{% endblock c1 %}
Надеемся, что это сработает :)