Django ValueError:视图usermanager.views.group_perm没有返回 HttpResponse 对象。它返回了无



我正在创建一个新闻网站。当我尝试从组中删除权限时,会显示相同的错误。此函数上面的代码几乎相同。但他们工作得很好。请帮助

这是我的视图文件def group_perm(请求,名称(:

if not request.user.is_authenticated:
return redirect('my_login')

perm = 0
for i in request.user.groups.all():
if i.name == "masteruser": perm = 1
if perm == 0:
error = "Access Denied"
return render(request, 'back/error.html',{'error': error})

permission = Permission.objects.all()

for group in Group.objects.filter(name=name):
gperm = group.permissions.all()

return render(request, 'back/group_perm.html', {'gperm':gperm, 'name':name, 'permission': permission})

def group_permission_del(请求、信号名、名称(:

if not request.user.is_authenticated:
return redirect('my_login')

perm = 0
#"request.user" means current logged User
for i in request.user.groups.all():
if i.name == "masteruser": perm = 1
if perm == 0:
error = "Access Denied"
return render(request, 'back/error.html',{'error': error})

group = Group.objects.get(name=gname)
gperm = Permission.objects.get(codename=name)

group.permissions.remove(gperm)
return redirect('manage_permission')

这里,您的return语句位于group_perm函数中的for循环中

空白用于表示块。像其他使用卷曲的语言一样括号{,}。

def group_perm(request, name):
for i in request.user.groups.all():
if i.name == "masteruser": perm = 1
if perm == 0:
error = "Access Denied"
return render(request, 'back/error.html', {'error': error})
permission = Permission.objects.all()
for group in Group.objects.filter(name=name):
gperm = group.permissions.all()
return render(request, 'back/group_perm.html', {'gperm': gperm, 'name': name, 'permission': permission})

编辑:1

Django ValueError:视图usermanager.views.group_perm没有返回HttpResponse对象。它返回None而不是

这个错误的答案是您的return语句在for循环中,因此,当您调用函数时,它返回None。这个问题解决了吗?

现在你的另一个功能是:

def group_permission_del(request, gname, name):
if not request.user.is_authenticated:
return redirect('my_login')
perm = 0
# "request.user" means current logged User
for i in request.user.groups.all():
if i.name == "masteruser": perm = 1
if perm == 0:
error = "Access Denied"
return render(request, 'back/error.html', {'error': error})
group = Group.objects.get(name=gname)
gperm = Permission.objects.get(codename=name)
group.permissions.remove(gperm)
return redirect('manage_permission')

相关内容

最新更新