Python 如何在django中删除用户?

Python 如何在django中删除用户?,python,django,django-users,Python,Django,Django Users,这听起来可能是个愚蠢的问题,但我很难使用此视图删除django中的用户: @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:

这听起来可能是个愚蠢的问题,但我很难使用此视图删除django中的用户:

@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')
在url.py中,我有

url(r'^del_user/(?P<username>[\w|\W.-]+)/$', 'profile.views.del_user'), 
url(r'^delu user/(?P[\w |\w.-]+)/$,'profile.views.delu user'),
相反,我得到的是被删除的用户
未找到的用户


这里可能有什么问题?

您应该将代码更改为:

@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') 

然后在模板中显示
err
,以查看更多错误消息

如果要进入except块,最好使用泛型except。您可以尝试打印收到的错误。删除try和except以查找任何错误。此处的信息可能太少,我们无法帮助您,但您可以尝试的一件事是在您的环境中打开python控制台并手动运行每个步骤。我发现这说明了很多问题。(如果使用django 1.7+使用
try:yourcode…expect-DoesNotExist:dosomething…
,请记住先执行“从django导入设置”,然后执行“setup()”。