diff --git a/ippisite/ippidb/views/targetcentric.py b/ippisite/ippidb/views/targetcentric.py index 419b06ff9e547bed369713664742e9e1600d2682..00628c13f16daaaa83c815a88000035fccd1edfa 100644 --- a/ippisite/ippidb/views/targetcentric.py +++ b/ippisite/ippidb/views/targetcentric.py @@ -9,6 +9,8 @@ from django.views.generic import ListView, DetailView, TemplateView from django.db.models import Case, When, Value, IntegerField, F, Q from django.shortcuts import redirect from django.contrib import messages +from django.core.cache import cache +from django.http import HttpResponse from rest_framework import viewsets from rest_framework.decorators import action, api_view, permission_classes from ippidb.models import ( @@ -538,6 +540,17 @@ class NetworkView(TemplateView): template_name = "targetcentric_networks.html" + def get(self, request, *args, **kwargs): + cache_key = "network_view" + # Use default caches, LocMemCache + response = cache.get(cache_key) + if not response: + response = render(request, self.template_name) + cache.set(cache_key, response.content, timeout=None) # Never expire + else: + response = HttpResponse(response) + return response + class NearCavitiesHTMLFragmentView(DetailView): model = Cavity