函数被装饰"/>
python 判断函数被装饰
我的问题是一个普遍的问题,但具体来说,我的应用程序是Django的login_required装饰器。
我很好奇是否可以检查视图/函数是否具有特定的装饰器(在这种情况下,login_required装饰器)
我在注销用户后进行重定向,并且如果他们当前所在的页面具有login_required装饰器,我想重定向到主页。 到目前为止,我的搜索没有任何结果。
构建自己的login_required装饰器,并将其标记为已装饰功能-标记它的最佳位置可能是在func_dict中。
from django.contrib.auth.decorators import login_required as django_l_r
# Here you're defining your own decorator called `login_required`
# it uses Django's built in `login_required` decorator
def login_required(func):
decorated_func = django_l_r(func)
decorated_func.func_dict['login_is_required'] = True
return decorated_func
@login_required # Your decorator
def authenticatedd_view(request):
pass
def unauthenticated_view(request):
pass
现在,您可以检查视图是否已像这样装饰过...
# Assume
更多推荐
python 判断函数被装饰
发布评论