1

Djangoでは、次のようなものを使用して、リクエストのキャッシュの最大経過時間を管理できます。

from django.views.decorators.cache import cache_control

@cache_control(max_age=3600)
def my_view(request):
    # ...

コンテンツが何であるかに依存できるように、view関数max_ageで別の値を設定するにはどうすればよいですか?request

例:

def my_view(request):
    if is_good_to_cache(request):
        # set max_age to 36000
    else:
        # set max_age to 42 
    # ... 
4

1 に答える 1

4

内部的cache_control利用しpatch_cache_controlているように、直接置くことはOKです:

from django.utils.cache import patch_cache_control

def my_view(request):
    if is_good_to_cache(request):
        max_age = 36000
    else:
        max_age = 42 
    resp = render(...)
    patch_cache_control(resp, max_age=max_age)
    return resp
于 2013-01-15T14:28:23.827 に答える