目前在我的django应用程序中,我有两种用户,比如userTypeA和userTypeB。
此时,我将两个类型重定向到/ usercheck /,它具有检查用户类型的功能,并相应地重定向它们。这很好用。
然而,只是出于好奇,如果我要写一个装饰器,我会把它放在哪里?
我能想到的一个地方是settings.py,其中装饰器将根据用户类型输出不同的LOGIN_REDIRECT_URL。
这只是为了学习。到目前为止,我目前的实施工作相当不错。
非常感谢。
答案 0 :(得分:2)
settings.py
适用于全局静态配置数据,我绝对不会尝试动态更改设置。 Django还有很多其他地方可以明确设置登录URL。
我并不完全清楚你想做什么,但听起来user_passes_test
装饰师就是你所追求的。来自the docs:
限制对通过测试的已登录用户的访问权限:简单的方法是直接在视图中的
request.user
上运行测试....作为快捷方式,您可以使用方便的user_passes_test
装饰器。