Add a few cache headers and minor feed caching back in
Now that we aren't using the middleware, add cache headers on our primary pages so we can prevent some repeat traffic, and cache all feeds for five minutes. Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
5a91a246a8
commit
9ddbe26e4c
@ -1,6 +1,7 @@
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.http import Http404
|
||||
from django.views.decorators.cache import cache_control
|
||||
from django.views.generic import list_detail
|
||||
from django.views.generic.simple import direct_to_template
|
||||
|
||||
@ -10,6 +11,7 @@
|
||||
from news.models import News
|
||||
from .utils import get_recent_updates
|
||||
|
||||
@cache_control(max_age=300)
|
||||
def index(request):
|
||||
pkgs = get_recent_updates()
|
||||
context = {
|
||||
@ -33,6 +35,7 @@ def index(request):
|
||||
},
|
||||
}
|
||||
|
||||
@cache_control(max_age=300)
|
||||
def userlist(request, user_type='devs'):
|
||||
users = User.objects.order_by(
|
||||
'first_name', 'last_name').select_related('userprofile')
|
||||
@ -50,12 +53,14 @@ def userlist(request, user_type='devs'):
|
||||
context['users'] = users
|
||||
return direct_to_template(request, 'public/userlist.html', context)
|
||||
|
||||
@cache_control(max_age=300)
|
||||
def donate(request):
|
||||
context = {
|
||||
'donors': Donor.objects.filter(visible=True).order_by('name'),
|
||||
}
|
||||
return direct_to_template(request, 'public/donate.html', context)
|
||||
|
||||
@cache_control(max_age=300)
|
||||
def download(request):
|
||||
qset = MirrorUrl.objects.select_related('mirror', 'protocol').filter(
|
||||
protocol__is_download=True,
|
||||
@ -71,6 +76,7 @@ def download(request):
|
||||
template_object_name="mirror_url",
|
||||
extra_context=context)
|
||||
|
||||
@cache_control(max_age=300)
|
||||
def feeds(request):
|
||||
context = {
|
||||
'arches': Arch.objects.all(),
|
||||
@ -78,6 +84,7 @@ def feeds(request):
|
||||
}
|
||||
return direct_to_template(request, 'public/feeds.html', context)
|
||||
|
||||
@cache_control(max_age=300)
|
||||
def keys(request):
|
||||
context = {
|
||||
'keys': MasterKey.objects.select_related('owner', 'revoker',
|
||||
|
8
urls.py
8
urls.py
@ -27,12 +27,12 @@
|
||||
# Feeds patterns, used later
|
||||
feeds_patterns = patterns('',
|
||||
(r'^$', 'public.views.feeds', {}, 'feeds-list'),
|
||||
(r'^news/$', NewsFeed()),
|
||||
(r'^packages/$', PackageFeed()),
|
||||
(r'^news/$', cache_page(300)(NewsFeed())),
|
||||
(r'^packages/$', cache_page(300)(PackageFeed())),
|
||||
(r'^packages/(?P<arch>[A-z0-9]+)/$',
|
||||
PackageFeed()),
|
||||
cache_page(300)(PackageFeed())),
|
||||
(r'^packages/(?P<arch>[A-z0-9]+)/(?P<repo>[A-z0-9\-]+)/$',
|
||||
PackageFeed()),
|
||||
cache_page(300)(PackageFeed())),
|
||||
)
|
||||
|
||||
# Sitemaps
|
||||
|
Loading…
Reference in New Issue
Block a user