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
(для просмотра удаления).