Кэширование для приложения в Django, а не для сайта или просмотра
Допустим, на моем сайте Django есть два приложения, одно для API и одно для html-страниц, все URL-адреса, начинающиеся с /api/, обрабатываются приложением API. Я настроил два кэша с определенной настройкой для каждого, например, так:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'page_cache',
'TIMEOUT': 7200,
'OPTIONS': {
'MAX_ENTRIES': 300,
}
},
'api': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'api_cache',
'TIMEOUT': 3600,
'OPTIONS': {
'MAX_ENTRIES': 3000,
}
}
}
Как настроить так, чтобы все запросы к API использовали кэш "api", а все другие запросы использовали кэш "по умолчанию"?
Я знаю, что могу использовать функцию / декоратор cache_page в URL-адресах или представлениях приложений api, но у меня много URL-адресов и представлений, так что это будет раздражать, если я захочу, например, изменить время ожидания.
Я также знаю, что я мог бы просто настроить промежуточное ПО так, чтобы оно указывало на другой кеш, когда запрос начинается с '/api/', но нет ли более чистого способа сделать это?