gpt4 book ai didi

python - 只允许访问 django 中的未登录用户

转载 作者:行者123 更新时间:2023-11-28 16:38:07 27 4
gpt4 key购买 nike

在 Django 中,如何防止某些页面显示给登录用户。例如登录页面,注册页面。那就是我想阻止登录用户访问登录和注册页面。

一种方法是编写我自己的登录 View ,并在该 View 中检查用户是否已经登录,如果是,则重定向到其他页面。

有没有更好的方法来实现这一点?像一些装饰师?

最佳答案

看看 user_passes_test 装饰器。

你会做这样的事情:

from django.contrib.auth.decorators import user_passes_test
@user_passes_test(lambda u: not u.is_authenticated())
def my_view(request):
...

user_passes_test 接收一个函数。该函数接收用户对象的位置。该函数必须返回一个 bool 值以确定是否应执行该 View 。

如果您不使用 User 对象对用户进行身份验证,那么您将不得不编写自己的装饰器。

关于python - 只允许访问 django 中的未登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com