У меня есть много постов, созданных с использованием l oop в django, и я хочу удалить заданную c запись (например, удаление из Facebook работает). Я могу получить id
сообщения, используя jquery, но я не уверен, что делаю неправильно, чтобы удалить сообщение. Я также реализовал функцию удаления в class based view
.
Кнопка удаления сообщения
существующая панель инструментов. html
{% for i in all_posts %}
... ///rest of the code
<span class="username"><a href="#">{{ i.first_name }} {{i.surname}}</a>
<span class="more" id="more-icon">{{i.post_id}}
<div class="more-menu" style="margin-top: 30px;">
<span class="delete" id="{{i.post_id}}">delete</span>
</div>
</span>
... /// rest of the code
</span>
{% endfor%}
Ajax
$('.delete').on('click', function(){
var post_id = $(this).attr('id');
alert(post_id)
$.ajax({
url: 'http://127.0.0.1:8000/existing-delete/' + post_id +'/',
type: 'DELETE',
data: {},
contentType: 'application/json',
dataType: 'text',
error:
function(result){
alert(result)
},
success:
function(result){
alert(result)
}
})
})
views.py
class ExistingStudentDashboard(TemplateView):
.../// rest of the code
def delete(self, request, pk, format=None):
post1 = Existing_student_posts.objects.filter(id = pk).first()
post2 = Future_student_posts.objects.filter(id = pk).first()
post3 = Teacher_posts.objects.filter(id = pk).first()
post4 = Employee_posts.objects.filter(id = pk).first()
if post1:
post1.delete()
elif post2:
post2.delete()
elif post3:
post3.delete()
else:
post4.delete()
get_context_data()
urls.py
path('existing-delete/,<int:pk>', views.ExistingStudentDashboard.as_view(), name = 'existing-delete'),
Ошибка получения в консоли, как показано ниже
Не найдено: / существующие-delete / 61 /
Ошибка консоли браузера
Ошибка консоли браузера
Что я делаю не так, чтобы удалить пост. Не стесняйтесь спрашивать о дополнительных разъяснениях. Любая помощь будет оценена :)