gpt4 book ai didi

python - django user_passes_test 装饰器

转载 作者:IT老高 更新时间:2023-10-28 22:02:44 36 4
gpt4 key购买 nike

如何为基于类的 View 实现 @user_passes_test(lambda u: u.is_superuser) 装饰器?我之前将它用于基于函数的 View ,我有一个解决方法,但感觉不自然。

这不应该被dispatch方法覆盖吗?

最佳答案

您在类的 dispatch 方法上使用 @method_decorator:

from django.views.generic import View
from django.utils.decorators import method_decorator
from django.contrib.auth.decorators import user_passes_test

class MyView(View):
@method_decorator(user_passes_test(lambda u: u.is_superuser))
def dispatch(self, *args, **kwargs):
return super(MyView, self).dispatch(*args, **kwargs)

关于python - django user_passes_test 装饰器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082670/

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