Skip to content

Commit

Permalink
Use method_decorator for Page.serve cache_control
Browse files Browse the repository at this point in the history
This is a change from Django 4.1
  • Loading branch information
zerolab committed Dec 7, 2023
1 parent 9485db7 commit 3410fbc
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
7 changes: 5 additions & 2 deletions wagtailio/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@
from wagtailio.newsletter.feeds import NewsLetterIssuesFeed
from wagtailio.search.views import search
from wagtailio.sitewide_alert import urls as sitewide_alert_urls
from wagtailio.utils.cache import get_default_cache_control_decorator
from wagtailio.utils.cache import (
get_default_cache_control_decorator,
get_default_cache_control_method_decorator,
)
from wagtailio.utils.sitemap_generator import Sitemap
from wagtailio.utils.views import error_404, error_500, favicon, robots

Expand All @@ -40,7 +43,7 @@
]


Page.serve = get_default_cache_control_decorator()(Page.serve)
Page.serve = get_default_cache_control_method_decorator(Page.serve)


if settings.DEBUG:
Expand Down
9 changes: 9 additions & 0 deletions wagtailio/utils/cache.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from django.conf import settings
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_control


Expand All @@ -18,3 +19,11 @@ def get_default_cache_control_kwargs():
def get_default_cache_control_decorator():
cache_control_kwargs = get_default_cache_control_kwargs()
return cache_control(**cache_control_kwargs)


def get_default_cache_control_method_decorator(original_method):
@method_decorator(get_default_cache_control_decorator())
def decorated_method(self, *args, **kwargs):
return original_method(self, *args, **kwargs)

return decorated_method

0 comments on commit 3410fbc

Please sign in to comment.