1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

move caching to views

This commit is contained in:
John Anderson
2019-04-15 14:41:04 -04:00
parent cdff29c7d5
commit 4723ddb5ce
21 changed files with 256 additions and 224 deletions

View File

@@ -2,26 +2,25 @@ from django.conf.urls import url
from extras import views
from extras.models import Tag
from utilities.urls import cached
app_name = 'extras'
urlpatterns = [
# Tags
url(r'^tags/$', cached(views.TagListView.as_view()), name='tag_list'),
url(r'^tags/$', views.TagListView.as_view(), name='tag_list'),
url(r'^tags/delete/$', views.TagBulkDeleteView.as_view(), name='tag_bulk_delete'),
url(r'^tags/(?P<slug>[\w-]+)/$', cached(views.TagView.as_view()), name='tag'),
url(r'^tags/(?P<slug>[\w-]+)/$', views.TagView.as_view(), name='tag'),
url(r'^tags/(?P<slug>[\w-]+)/edit/$', views.TagEditView.as_view(), name='tag_edit'),
url(r'^tags/(?P<slug>[\w-]+)/delete/$', views.TagDeleteView.as_view(), name='tag_delete'),
url(r'^tags/(?P<slug>[\w-]+)/changelog/$', cached(views.ObjectChangeLogView.as_view()), name='tag_changelog', kwargs={'model': Tag}),
url(r'^tags/(?P<slug>[\w-]+)/changelog/$', views.ObjectChangeLogView.as_view(), name='tag_changelog', kwargs={'model': Tag}),
# Config contexts
url(r'^config-contexts/$', cached(views.ConfigContextListView.as_view()), name='configcontext_list'),
url(r'^config-contexts/add/$', cached(views.ConfigContextCreateView.as_view()), name='configcontext_add'),
url(r'^config-contexts/$', views.ConfigContextListView.as_view(), name='configcontext_list'),
url(r'^config-contexts/add/$', views.ConfigContextCreateView.as_view(), name='configcontext_add'),
url(r'^config-contexts/edit/$', views.ConfigContextBulkEditView.as_view(), name='configcontext_bulk_edit'),
url(r'^config-contexts/delete/$', views.ConfigContextBulkDeleteView.as_view(), name='configcontext_bulk_delete'),
url(r'^config-contexts/(?P<pk>\d+)/$', cached(views.ConfigContextView.as_view()), name='configcontext'),
url(r'^config-contexts/(?P<pk>\d+)/$', views.ConfigContextView.as_view(), name='configcontext'),
url(r'^config-contexts/(?P<pk>\d+)/edit/$', views.ConfigContextEditView.as_view(), name='configcontext_edit'),
url(r'^config-contexts/(?P<pk>\d+)/delete/$', views.ConfigContextDeleteView.as_view(), name='configcontext_delete'),
@@ -30,12 +29,12 @@ urlpatterns = [
url(r'^image-attachments/(?P<pk>\d+)/delete/$', views.ImageAttachmentDeleteView.as_view(), name='imageattachment_delete'),
# Reports
url(r'^reports/$', cached(views.ReportListView.as_view()), name='report_list'),
url(r'^reports/(?P<name>[^/]+\.[^/]+)/$', cached(views.ReportView.as_view()), name='report'),
url(r'^reports/$', views.ReportListView.as_view(), name='report_list'),
url(r'^reports/(?P<name>[^/]+\.[^/]+)/$', views.ReportView.as_view(), name='report'),
url(r'^reports/(?P<name>[^/]+\.[^/]+)/run/$', views.ReportRunView.as_view(), name='report_run'),
# Change logging
url(r'^changelog/$', cached(views.ObjectChangeListView.as_view()), name='objectchange_list'),
url(r'^changelog/(?P<pk>\d+)/$', cached(views.ObjectChangeView.as_view()), name='objectchange'),
url(r'^changelog/$', views.ObjectChangeListView.as_view(), name='objectchange_list'),
url(r'^changelog/(?P<pk>\d+)/$', views.ObjectChangeView.as_view(), name='objectchange'),
]

View File

@@ -7,6 +7,8 @@ from django.db.models import Count, Q
from django.http import Http404
from django.shortcuts import get_object_or_404, redirect, render
from django.utils.safestring import mark_safe
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
from django.views.generic import View
from django_tables2 import RequestConfig
@@ -41,6 +43,7 @@ class TagListView(ObjectListView):
class TagView(View):
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, slug):
tag = get_object_or_404(Tag, slug=slug)
@@ -108,6 +111,7 @@ class ConfigContextListView(PermissionRequiredMixin, ObjectListView):
class ConfigContextView(PermissionRequiredMixin, View):
permission_required = 'extras.view_configcontext'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
configcontext = get_object_or_404(ConfigContext, pk=pk)
@@ -155,6 +159,7 @@ class ObjectConfigContextView(View):
object_class = None
base_template = None
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
obj = get_object_or_404(self.object_class, pk=pk)
@@ -187,6 +192,7 @@ class ObjectChangeListView(PermissionRequiredMixin, ObjectListView):
class ObjectChangeView(PermissionRequiredMixin, View):
permission_required = 'extras.view_objectchange'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
objectchange = get_object_or_404(ObjectChange, pk=pk)
@@ -209,6 +215,7 @@ class ObjectChangeLogView(View):
Present a history of changes made to a particular object.
"""
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, model, **kwargs):
# Get object my model and kwargs (e.g. slug='foo')
@@ -282,6 +289,7 @@ class ReportListView(PermissionRequiredMixin, View):
"""
permission_required = 'extras.view_reportresult'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request):
reports = get_reports()
@@ -306,6 +314,7 @@ class ReportView(PermissionRequiredMixin, View):
"""
permission_required = 'extras.view_reportresult'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, name):
# Retrieve the Report by "<module>.<report>"