最简单的方式是采用以下官方推荐的方式
Decorating in URLconf
The simplest way of decorating class-based views is to decorate the result of the as_view() method. The easiest place to do this is in the URLconf where you deploy your view:
from django.contrib.auth.decorators import login_required, permission_required
from django.views.generic import TemplateView
from .views import VoteView
urlpatterns = patterns('',
(r'^about/', login_required(TemplateView.as_view(template_name="secret.html"))),
(r'^vote/', permission_required('polls.can_vote')(VoteView.as_view())),
)
https://docs.djangoproject.com/en/1.6/topics/class-based-views/intro/
另外,你可以看看这里 http://stackoverflow.com/questions/10275164/django-generic-views-using-decorator-login-required