Django decorator基于用户类型重定向

时间:2014-02-01 01:45:52

标签: python django decorator django-authentication

目前在我的django应用程序中,我有两种用户,比如userTypeA和userTypeB。

此时,我将两个类型重定向到/ usercheck /,它具有检查用户类型的功能,并相应地重定向它们。这很好用。

然而,只是出于好奇,如果我要写一个装饰器,我会把它放在哪里?

我能想到的一个地方是settings.py,其中装饰器将根据用户类型输出不同的LOGIN_REDIRECT_URL。

这只是为了学习。到目前为止,我目前的实施工作相当不错。

非常感谢。

1 个答案:

答案 0 :(得分:2)

settings.py适用于全局静态配置数据,我绝对不会尝试动态更改设置。 Django还有很多其他地方可以明确设置登录URL。

我并不完全清楚你想做什么,但听起来user_passes_test装饰师就是你所追求的。来自the docs

  

限制对通过测试的已登录用户的访问权限:简单的方法是直接在视图中的request.user上运行测试....作为快捷方式,您可以使用方便的user_passes_test装饰器。