这是我的装饰者:
def is_clinic(user):
user.groups.filter(name='Klinik').exists()
我的观点:
class Index(View):
@method_decorator(login_required)
@method_decorator(user_passes_test(is_clinic, login_url='/clinic_only.html'))
def get(self, request):
return render(request,"index.html")
用户在群组中。我用shell测试它,装饰器肯定会返回True。
当我导航到网址时,django会将我重定向到clinic_only.html
答案 0 :(得分:3)
您忘记返回查询结果。因此,您的函数隐式返回None
,并且装饰器重定向到登录页面。你应该:
def is_clinic(user):
return user.groups.filter(name='Klinik').exists()