Vamos lá:
from django.contrib.auth.decorators import user_passes_test def esta_no_grupo_Alunos(user): return user.is_authenticated() and not user.groups.filter(name='Alunos').exists() @user_passes_test(esta_no_grupo_Alunos, login_url='/login/') def nome_da_view(request): # código da sua view
Use com o user_passes_test para restringir acesso a usuários autenticados e que estejam no grupo.
O decorator user_passes_test tem um argumento obrigatório: um objeto User e retorna True, caso o usuário tenha permissão. Como user_passes_test não verifica automaticamente se o usuário está logado, então foi necessário incluir essa verificação.
Como bem notou Luan Fonseca, no Facebook, perceba que, para o caso de redirecionar para login, você pode muito bem usar o decorator @login_required antes do user_passes_test e remover o is_authenticated() da função.
Nenhum comentário:
Postar um comentário