Здесь ваш оператор возврата находится внутри для l oop в функции group_perm
Пробел используется для обозначения блоков. как и другие языки, использующие фигурные скобки {,}.
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 l oop, следовательно, когда вы вызывали свою функцию, он возвращал 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')