読者です 読者をやめる 読者になる 読者になる

django generic view で login_required する

django 1.8.4

generic view で login_required するときは urls.py でデコレートする.

ログイン不要の場合

// app/urls.py
from django.conf.urls import patterns, url
from monitoring.models import Data
from monitoring.views import DataListView

urlpatterns = patterns('',
                 url(r'^$',
                 DataListView.as_view(model=Data),
                 name='data_list'
                ),
)

ログイン必要(login_required)の場合

// app/urls.py
  from django.conf.urls import patterns, url
  from monitoring.models import Data
  from monitoring.views import DataListView
+ from django.contrib.auth.decorators import login_required

  urlpatterns = patterns('',
                  url(r'^$',
-                 DataListView.as_view(model=Data),
+                 login_required(DataListView.as_view(model=Data)),
                   name='data_list'
                ),
)

http://stackoverflow.com/questions/2140550/how-to-require-login-for-django-generic-views