这可能听起来是一个愚蠢的问题,但我很难使用此视图删除 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')
在 urls.py 中我有
url(r'^del_user/(?P<username>[\w|\W.-]+)/$', 'profile.views.del_user'),
相反,用户被删除,我得到
The user not found
。
这里可能出了什么问题?
您应该将代码更改为:
@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
以查看更多错误消息
@login_required
def del_user(request):
user = request.user
user.delete()
redirect("login")