Django delete record using modal

I'm new in Django and i like to implement a Modal to delete records. The problem is a funny error in the modal form because is expecting a parameter. The modal link has this

but I don't know how add the right parameter. This is my List in html
<table id="tablaAlmacenes" class="table table-bordered table-striped">
                      <thead>
                        <tr>
                          <th>Almacén</th>
                          <th>Detalles</th>
                          <th></th>
                      </tr>
                      </thead>
                      <tbody>                                     
                          {% for almacen in object_list %}
                          <tr>
                            <td>{{ almacen.almacen }}</td>
                            <td>{{ almacen.descripcion }}</td>
                            <td>
                              <div>
                                 <a href="" class="btn btn-link text-info">Detalles</a>                                  
                                 <a a href="" class="btn btn-link text-primary">Editar</a>
                                  <a class="btn btn-link deleteAlmacen" data-id="{{ almacen.id}}"><span class="fas fa-trash text-danger"></a>
                              </div>
                           </td>
                          </tr>
                          {% endfor %}                        
                      </tbody>
                      <tfoot>
                        <tr>
                          <th>Almacén</th>
                          <th>Detalles</th>
                          <th></th>
                        </tr>
                      </tfoot>
                  </table> 

this is my url.py

urlpatterns = [
    path('',include('polls.urls'),name='home'),
    path('admin/', admin.site.urls),
    # path('contact/',views.contact, name='contacto')
    path('almacenes/', AlmacenesListView.as_view(), name='almacenes'),
    path('almacenes/nuevo', AlmacenesCreateView.as_view(), name='crear_almacen'),
    path('almacenes/<int:id>/remove/', AlmacenesDeleteView.as_view(), name='eliminar_almacen')
]

This is my views.py

class AlmacenesListView(ListView):
    model = Almacen
    template_name = 'pages/index.html'

    success_message = "Bien!!!!"
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['title'] = "Lista de Almacenes"
        print(reverse_lazy('almacenes'))
        return context

class AlmacenesCreateView(SuccessMessageMixin, CreateView):
    model = Almacen
    form_class = AlmacenesForm
    success_url = reverse_lazy('almacenes')
    success_message = "Bien!!!!"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs) 
        return context
    
class AlmacenesDeleteView(DeleteView):
    model = Almacen
    success_url = reverse_lazy('almacenes')

and my modal code

<div class="modal fade" aria-modal="false" id="deleteAlmacenModal">
  <div class="modal-dialog modal-dialog-centered modal-sm">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title">Confirmación</h4>
        <button type="button" class="close" data-dismiss="modal" aria-label="Cerrar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <p>¿Desea eliminar el Almacen?</p>
      </div>
      <div class="modal-footer justify-content-between">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
        <form action="{% url 'eliminar_almacen' (some parameter here but error) %}" method="POST">
          {% csrf_token %}
          <input type="hidden" name="id" id="almacen_id"/>
          <button type="submit" class="btn btn-danger">Eliminar</button>
        </form>
      </div>
    </div>
    <!-- /.modal-content -->
  </div>
  <!-- /.modal-dialog -->
</div>

scrpt for modal

    $(document).on('click','.deleteAlmacen',function(){
    var id_almacen=$(this).attr('data-id');
    $('#almacen_id').val(id_almacen);
    $('#deleteAlmacenModal').modal('show');
    });

Probably, if the modal shows up but doesn't work, you should use a code like that in your form in the template:

<form action="{% url 'eliminar_almacen' pk=almacen.id %}" method="POST">
Back to Top