Я использую Django. Я создал функцию для кнопки удаления. он работает нормально, но проблема в том, что: существует шаблон, который разделяется в двух местах (один для URL: /employer/job/edit
, а другой для vendor/job/edit
) шаблон одинаковый для обоих. мой код соответствует следующему, который отлично работает с/работодателем/работой/редактированием, но не работает для vendor/job/edit
. Кнопка код:Ajax Call в Django
<a style="cursor:pointer;" class="delete"
data-pk="{{ i.id }}" data-appname="employer" data-modelname="office">
<i class="fa fa-times font-18 iconcolor pt3 float-r" ></i>
</a>
Jquery IS:
$('.delete').click(function() {
appname = $(this).data('appname');
modelname = $(this).data('modelname');
pk = $(this).data('pk');
delete_this = $(this);
$.ajax({
url: "/delete_button/" + appname + "/" + modelname + "/" + pk + "/",
type: "DELETE",
success: function() {
// Remove the HTML Element which represents you data
delete_this.parent().parent().parent().parent().remove();
$('#'+pk).remove();
location.reload(true);
}
});
});
и моя функция, которую я написал в view.py является:
def delete_data(request, app_name, model_name, pk):
try:
model_name = get_model(app_name, model_name)
if request.method=='DELETE':
model_name.objects.get(id=pk).delete()
return HttpResponse('deleted', status=200)
except Exception, e:
return HttpResponse('error', status=500)
, что это неправильно, я делаю. пожалуйста, помогите мне!
есть ли способ получить имя приложения и имя модуля в коде кнопки, так как я беру pk = i.id ?? я думаю, что если есть такой путь, тогда проблема может быть решена. – NewPie
Я немного смущен. Вы используете ту же кнопку в обоих шаблонах? –
есть .. точно, фактически шаблон - тот же, что и доля в обоих. @AmalSurendran – NewPie