@login_required def species_delete(request, pk): species_to_delete = get_object_or_404(DBSpecies, id=pk) if species_to_delete.species_owner != request.user: return redirect('account_logout') if request.method == "POST": species_to_delete.delete() return redirect('homepage') return render(request, 'app_fossils/species_delete.html', {'species_to_delete': species_to_delete,}) @login_required def fossil_delete(request, pk): fossil_to_delete = get_object_or_404(DBFossil, id=pk) if fossil_to_delete.fossil_owner != request.user: return redirect('account_logout') if request.method == "POST": fossil_to_delete.delete() if fossil_to_delete.fossil_species: return redirect('species-selected', pk=fossil_to_delete.fossil_species.id) else: return redirect('homepage') return render(request, 'app_fossils/fossils_delete.html', {'fossil_to_delete': fossil_to_delete,})
urlpatterns = [ ... path('species_delete//', species_delete, name='species-delete'), path('fossil_delete//', fossil_delete, name='fossil-delete'), ... ]
species_delete.html
{% extends 'base.html' %} {% block title %} Delete {{ species_to_delete.species_name }} {% endblock %} {% load static %} {% block content %} Delete species Are you sure you want to delete {{ species_to_delete.species_name }}? {% csrf_token %} Delete Cancel {% endblock %}
Are you sure you want to delete {{ species_to_delete.species_name }}?
fossils_delete.html
{% extends 'base.html' %} {% block title %} Delete {{ fossil_to_delete.fossil_name }} {% endblock %} {% load static %} {% block content %} Delete fossil Are you sure you want to delete {{ fossil_to_delete.species_name }}? {% csrf_token %} Delete Cancel {% endblock %}
Are you sure you want to delete {{ fossil_to_delete.species_name }}?
Add to the main species view:
if request.method == "POST" and "species_delete" in request.POST: specie.delete() messages.success(request, f"{specie.species_name} deleted successfully") return redirect('homepage')
Delete Delete {{ specie.species_name }} Are you sure you want to delete this species? {{ specie.species_name }} {% csrf_token %} Delete Cancel