Cache the homepage for anonymous users
[oweals/karmaworld.git] / karmaworld / apps / courses / views.py
index ecdb9c78d4332045241d9c550abb954c10ef9001..29445b28022d7e952d7575594bbfb3bb71484d12 100644 (file)
@@ -10,6 +10,7 @@ from django.core.exceptions import MultipleObjectsReturned
 from django.core.exceptions import ObjectDoesNotExist
 
 from django.http import HttpResponse, HttpResponseBadRequest
+from django.views.decorators.cache import cache_page
 from django.views.generic import View
 from django.views.generic import DetailView
 from django.views.generic import TemplateView
@@ -36,7 +37,11 @@ class CourseListView(View):
     """
 
     def get(self, request, *args, **kwargs):
-        return CourseListSubView.as_view()(request, *args, **kwargs)
+        if request.user.is_authenticated():
+            return CourseListSubView.as_view()(request, *args, **kwargs)
+        # Cache the homepage for non-authenicated users
+        else:
+            return cache_page(CourseListSubView.as_view(), 60 * 60)(request, *args, **kwargs)
 
     def post(self, request, *args, **kwargs):
         ret = CourseAddFormView.as_view()(request, *args, **kwargs)