Giving the option to the user to delete its own account is often required.
from django.shortcuts import redirect
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth import logout
class delete(LoginRequiredMixin, TemplateView):
template_name = "delete.html"
def post(self, request, *args, **kwargs):
user = request.user
logout(request)
user.delete()
return redirect('/')
urlpatterns = [
...
path("delete", delete.as_view(), name="delete"),
]
<h1>Delete Account</h1>
<p>If you want to delete your account please type "delete" below</p>
<form id="delete-form" method="post">
{% csrf_token %}
<input type="text" id="delete-input">
<input type="submit" id="delete-submit" value="Delete">
</form>
<script>
document.getElementById('delete-form').addEventListener('submit', function(event) {
var input = document.getElementById('delete-input').value;
if (input !== 'delete') event.preventDefault();
});
</script>
Python 3.12 Django==4.2 django-registration==3.3
22 July 2024
|
Last Updated: 22 Nov. 2025
|
jaimedcsilva Related