Django ValueError:视图usermanager.views.group_perm没有返回HttpResponse对象。它返回None代替

问题描述 投票:1回答:1

我正在创建一个新闻网站。当我尝试从组中删除权限时,显示相同的错误。此功能上方的代码几乎相同。但是它们工作正常。请帮助

这是我的视图文件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(请求,gname,名称):

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')
python html django
1个回答
0
投票

在这里,您的return语句在group_perm函数的for循环内

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

您在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})
© www.soinside.com 2019 - 2024. All rights reserved.