在所有视图中检查user.is_active

时间:2014-03-25 17:43:24

标签: python django

我有很多观点,如果用户 is_active ,我需要检查其中大多数观点:

if request.user.is_active:
    pass # some actions
else:
    #user.logout

如何缩短?我使用 @login_required (Django 1.6.2)。如果我通过admin user active = no更改,我可以在配置文件中执行任何操作(is_active返回 False ),就像普通用户一样。但我需要reverse:用户使用is_active False 无法执行任何操作,例如,他们会自动注销。

怎么做?感谢。

1 个答案:

答案 0 :(得分:1)

使用:

from django.contrib.auth.decorators import user_passes_test

@user_passes_test(lambda u: u.is_active)
def my_view(request):
    # blah