How to delete user in django?

33,587

You should change your code to:

@staff_member_required 
def del_user(request, username):    
    try:
        u = User.objects.get(username = username)
        u.delete()
        messages.success(request, "The user is deleted")            

    except User.DoesNotExist:
        messages.error(request, "User doesnot exist")    
        return render(request, 'front.html')

    except Exception as e: 
        return render(request, 'front.html',{'err':e.message})

    return render(request, 'front.html') 

and display the err in your template to see further error messages

Share:
33,587
Jand
Author by

Jand

Updated on July 12, 2022

Comments

  • Jand
    Jand almost 2 years

    This may sounds a stupid question but I have difficulty deleting users in django using this view:

    @staff_member_required 
    def del_user(request, username):    
        try:
            u = User.objects.get(username = username)
            u.delete()
            messages.sucess(request, "The user is deleted")
        except:
          messages.error(request, "The user not found")    
        return render(request, 'front.html')
    

    in urls.py I have

    url(r'^del_user/(?P<username>[\w|\W.-]+)/$', 'profile.views.del_user'), 
    

    Instead the user being deleted I get The user not found.

    What can be wrong here?

  • AnonymousUser
    AnonymousUser over 2 years
    I want a button for this, so when I click the button beside the User in a ListView of users, then it takes that users pk, so I can filter it.