Я создаю простую социальную сеть в django.
В «доме» моей социальной сети у меня есть список всех сообщений, опубликованных всеми пользователями, с указанием автора и даты публикации. Под каждым сообщением зарегистрированного пользователя появляется кнопка «Удалить». Если пользователь нажимает на него, он возвращает определенный c просмотр этого сообщения с сообщением "действительно ли вы хотите sh удалить это сообщение?" и две кнопки для подтверждения или отмены удаления сообщения.
Однако, когда я нажимаю кнопку «подтвердить удаление», страница перезагружается в ту же точку, и ничего не меняется, за исключением того факта, что
? Csrfmiddlewaretoken = - случайная последовательность -
появляется в конце текущего URL-адреса на панели URL.
Чего мне не хватает?
Вот мой шаблон:
<h3>Do you want to delete this post?</h3>
<div class="posts">
{% include "posts/_post.html" with post=object hide_delete=True %}
</div>
<form class="POST">
{% csrf_token %}
<input type="submit" value="Confirm Delete" class="btn btn-danger btn-large">
<a href="{% url 'posts:delete' pk=post.pk %}" class="btn btn-simple btn-large btn-default">Cancel</a>
</form>
и мое представление DeletePost на основе generic.DeleteView
:
class DeletePost(LoginRequiredMixin, SelectRelatedMixin, generic.DeleteView):
model = models.Post
select_related = ('user', 'group')
success_url = reverse_lazy('posts:all')
def get_queryset(self):
queryset = super().get_queryset()
return queryset.filter(user_id = self.request.user.id)
def delete(self,*args,**kwargs):
messages.success(self.request,'Post Deleted')
return super().delete(*args,**kwargs)