下面是3种方式:

from django.shortcuts import render, redirect
from django.views import View
# Create your views here.
class Login(View):
def get(self, request):
return render(request, 'login.html')
def check_login(func):
def inner(request, *args, **kwargs):
if request.session.get('user_info'):
return func(request, *args, **kwargs)
else:
return redirect('/login.html')
return inner
from django.utils.decorators import method_decorator
@method_decorator(check_login, name='dispatch')
class Index(View):
@method_decorator(check_login)
def dispatch(self, request, *args, **kwargs):
return super(Index,self).dispatch( request, *args, **kwargs)
@method_decorator(check_login)
def get(self, request):
return render(request, 'index.html')
def post(self, request):
return render(request, 'index.html')