我是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/