Django DeleteView derived CBV удаляет мой объект, не показывая страницу подтверждения удаления
Я использую Django 3.2
У меня есть модель Foo, и я написал CBV, чтобы разрешить удаление. Вот как выглядит моя CBV:
/path/to/foo/view.py
class FooDeleteView(LoginRequiredMixin, UserPassesTestMixin, DeleteView):
model = Foo
slug_url_kwarg = 'identifier'
slug_field = 'identifier'
success_url = reverse_lazy('homepage')
def get_object(self, queryset=None):
identifier = self.kwargs[self.slug_field]
return self.model.objects.get(identifier=identifier)
def test_func(self):
photo = self.get_object()
return self.request.user == foo.owner
def post(self, request, *args, **kwargs) -> HttpResponse:
foo = self.get_object()
foo.delete()
return super().post(request, *args, **kwargs)
/path/to/foo/templates/foo/templates/foo_confirm_delete
{% extends 'base.html' %}
{% load static %}
{% block page_title %}Foo deletion Confirmation {% endblock %}
{% block content %}
<form action="{% url 'myapp:foo-delete' %}" method="post">{% csrf_token %}
<div class="form-group">
Are you sure you want to delete this item?<br>
<br>
<strong>{{ object }}</strong>
{{ form.errors }}
<br>
<br>
<input type="hidden" name="confirm_delete" value="confirm_delete">
<p>
<input type="submit" class="btn btn-primary">Delete</input>
<a href="../">Cancel</a>
</p>
</div>
</form>
{% endblock content %}
Почему моя форма foo_confirm_delete.html
не отображается, чтобы дать мне возможность отменить действие - до того, как объект будет удален? Как мне это исправить?