Django/Python - удаление строки в базе данных sqlite3 с помощью кнопки формы

Я хочу иметь кнопку удаления для удаления строки в моей базе данных sqlite3. У меня почти получилось, но я не уверен, что мне нужно добавить, чтобы отправить ID из html строки в views.py. Вот что у меня есть:

mailindex.html

<form action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
    <div class="form-group">
        <a href="{% url 'core:mail' mail.id %}" class="btn btn-secondary btn-sm">Manage</a>
        <button type="submit" name="deletemail" value="deletemail" class="btn btn-secondary btn-sm">Delete</button>
    </div>
</form>

views.py

class MailboxView(generic.ListView):
    extra_context = {"mailbox_page": "active"}
    model = MailMessage
    context_object_name = 'mails'
    template_name = 'core/mailbox/mailindex.html'

    def post(self, request):
        # if 'deletemail' in self.request.POST:
        if request.POST.get('deletemail'):
            mail = MailMessage.objects.get(pk=13)
            mail.delete()
            return HttpResponseRedirect(self.request.path_info)

Это работает, в том смысле, что когда я нажимаю кнопку удаления, то удаляется письмо с ID = 13. Что логично, поскольку я поместил туда номер 13. Я бы хотел заменить '13' на mail.id, но я не уверен, как это сделать. Надеюсь, это возможно: Я бы предпочел, чтобы это было как можно проще, чтобы не создавать дополнительный url, но опять же не знаю, возможно ли это...

Используйте тег deletemail в type:hidden другой input, а не кнопку.

Попробуйте это

<div class="form-group">
    <a href="{% url 'core:mail' mail.id %}" class="btn btn-secondary btn-sm">Manage</a>
    <input type="hidden" name="deletemail" value="13">
    <button type="submit" class="btn btn-secondary btn-sm">Delete</button>
</div>
Вернуться на верх