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