Ajax url с параметром. Текущий путь не совпал ни с одним из перечисленных
Я новичок в django. Я пытаюсь удалить элемент из базы данных с помощью ajax вызова. Мой ajax вызов отправляет url с параметром, который является pk элемента для удаления. Урл выглядит нормально, но браузер выдает ошибку, что
url-шаблон не соответствует ни одному из url-шаблонов в моем url.py.
Я уже делал подобный проект раньше и все работало хорошо, так что я в замешательстве, почему это не работает сейчас. Есть идеи?
urls.py:
urlpatterns = [
path('', views.home,name='home'),
path('mojerec',views.mojeRec,name='mojerec'),
path('dodajrec',views.dodajRec,name='dodajrec'),
path('receptura/(<int:receptura_id>)',views.receptura,name='receptura'),
path('formJson/<str:skl>/', views.formJson, name='formJson'),
path('receptura/formJson/<str:skl>/', views.formJson, name='formJson'),
path('receptura/dodajskl/<str:sklId>/', views.dodajsklJson, name='dodajsklJson'),
path('receptura/aktualizujTabela/<str:sklId>/', views.aktualizujTabela, name='aktualizujTabela'),
path('receptuta/delSkl/<int:id>/', views.delSkl, name='delSkl'),
]
views.py
def delSkl (request,id):
deletedElement=Skladnik.objects.filter(pk=id)
response=serializers.serialize("python", deletedElement)
deletedElement.delete()
print('response', response)
sys.stdout.flush()
return JsonResponse({'response':response})
myjs.js
function usuwanieSkladnika (pk){
$.ajax({
type: 'GET',
url: `delSkl/${ pk }/`,
success : function(response){console.log('sukces ajaxa z del');
cardBox.innerHTML=''
tabelaDocelowa.innerHTML='';
updateTable()
},//koniec sukcesa
error : function (error){console.log('brak sukcesu ajaxa z del')},
})
}
log:
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/receptura/delSkl/13/
Using the URLconf defined in recipe.urls, Django tried these URL patterns, in this order:
admin/
[name='home']
mojerec [name='mojerec']
dodajrec [name='dodajrec']
receptura/(<int:receptura_id>) [name='receptura']
formJson/<str:skl>/ [name='formJson']
receptura/formJson/<str:skl>/ [name='formJson']
receptura/dodajskl/<str:sklId>/ [name='dodajsklJson']
receptura/aktualizujTabela/<str:sklId>/ [name='aktualizujTabela']
receptuta/delSkl/<int:id>/ [name='delSkl']
users/
The current path, receptura/delSkl/13/, didn’t match any of these.
У вас опечатка в urls.py, т.е. у вас receptuta/delSkl/<int:id>/ в urls.py, а вы вызываете receptura/delSkl/<int:id>/
Измените свой urls.py с :
path('receptuta/delSkl/<int:id>/', views.delSkl, name='delSkl'),
К этому:
path('receptura/delSkl/<int:id>/', views.delSkl, name='delSkl'),