Представление stock.views.eliminar_tipomaterial не возвращало объект HttpResponse. Вместо этого он вернул None
Я делаю CRUD с Django 5.1 Я хочу удалить данные, когда я нажимаю на кнопку удаления, он остается в том же, но он показывает эту ошибку:
views.py
def eliminar_tipomaterial(request, tipomaterial_id):
tipomaterial = get_object_or_404(TipoMaterial, pk=tipomaterial_id)
if request.method == 'POST':
tipomaterial.delete()
return redirect('tipomaterial.html')
Tipomaterial.html
<main class="container">
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr style="text-align: center;">
<th scope="col">Nombre del material</th>
<th scope="col" colspan="2">Acciones</th>
</tr>
</thead>
<tbody class="table-group-divider">
{% for datos in tipomaterial %}
<tr>
<td>
<li class="list-group-item" href="{% url 'detalle_tipomaterial' datos.id %}">
<strong>{{datos.nombre}}</strong>
</li>
</td>
<td>
<a class="btn btn-primary" href="{% url 'detalle_tipomaterial' datos.id %}" role="button">
<i class="bi bi-pencil-fill">
Editar
</i>
</a>
<a class="btn btn-danger" href="{% url 'eliminar_tipomaterial' datos.id %}" role="button">
<i class="bi bi-trash3-fill">
Eliminar
</i>
</a>
</td>
</tr>
{% endfor%}
</tbody>
</table>
</div>
</main>
введите описание изображения здесь
Мне кажется, что вы пытаетесь перенаправить пользователя на шаблон .html, поэтому ваше представление eliminar_tipomaterial возвращает None. Вы должны передать жестко закодированный url или имя, которое django может разрешить с помощью метода reverse().