Django 404 ошибка Текущий путь, не совпадает ни с одним из этих

У меня такая ошибка, когда я пытаюсь редактировать или удалить:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/edit/
Using the URLconf defined in lab4new.urls, Django tried these URL patterns, in this order:

create/
edit/<int:id>/
delete/<int:id>/
The current path, edit/, didn’t match any of these.

но я не могу понять, что не так с путем: это мой urls.py:

from django.urls import path
from lab4 import views
 
urlpatterns = [
    path("", views.index),
    path("create/", views.create),
    path("edit/<int:id>/", views.edit),
    path("delete/<int:id>/", views.delete),
]

Create работает нормально, но в чем проблема с edit и delete?

http://127.0.0.1:8000/edit/1/

В вашем случае 1 - это <int:id>. Вы забыли передать параметр в url. Примеры и описание здесь

в представлении это выглядит примерно так:

def edit(request, id):
    print(id)

    return HttpResponse(f"""
        <p>Host: {12345}</p>""")

Как сказал @Nealium в выше комментарии, вы также должны указать некоторый id, как вы упомянули <int:id> в параметрах URL для обоих представлений.

Таким образом, запрашиваемый URL должен быть http://127.0.0.1:8000/edit/1 (для просмотра редактирования) и http://127.0.0.1:8000/delete/1 (для просмотра удаления).

Вернуться на верх