gpt4 book ai didi

python - django 中@login_required 和@method_decorator(login_required) 有什么区别

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:38 25 4
gpt4 key购买 nike

我是django的新手,我很困惑Django中的@login_required@method_decorator(login_required)有什么区别,我们应该使用哪个。提前致谢。

最佳答案

在基于函数的 View 中使用@login_required:

@login_required    
def my_view(request):
return HttpResponse('hello')

您可以将 @method_decorator(login_required) 与基于类的 View 一起使用,

@method_decorator(login_required, name='dispatch')
class MyView(TemplateView):
template_name = 'hello.html'

@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(MyView, self).dispatch(*args, **kwargs)

然而,使用 LoginRequiredMixin 可能更简单:

from django.contrib.auth.mixins import LoginRequiredMixin

class MyView(LoginRequiredMixin, TemplateView):
template_name = 'hello.html'

关于python - django 中@login_required 和@method_decorator(login_required) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42306257/

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