【问题标题】:Django decorator to redirect based on user-typeDjango 装饰器根据用户类型重定向
【发布时间】:2014-02-24 22:01:50
【问题描述】:

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

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

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

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

仅供学习。到目前为止,我目前的实现效果非常好。

非常感谢。

【问题讨论】:

    标签: python django decorator django-authentication


    【解决方案1】:

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

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

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

    【讨论】:

    • 哇,我不知道这种东西存在。我最终做了类似的事情:分配一个默认重定向,然后根据条件覆盖这个默认值。我本来可以用这个的。无论如何,非常感谢。
    猜你喜欢
    • 2013-01-19
    • 2021-03-24
    • 2021-11-25
    • 2011-10-16
    • 1970-01-01
    • 2011-06-16
    • 2010-10-29
    • 1970-01-01
    • 2018-06-17
    相关资源
    最近更新 更多