def as_view(cls, *args, **kwargs): view = super().as_view(*args, **kwargs) view = vary_on_cookie(view) view = cache_page(timeout=cls.get_timeout(), cache=cls.cache_name)(view) return view
def as_view(cls, *args, **kwargs): ink.p("CachePageVaryOnCookieMixin as_view", ink.BG_BLUE, ink.ENDC + "\n") view = super().as_view(*args, **kwargs) view = vary_on_cookie(view) view = cache_page( timeout=cls.get_timeout(), cache=cls.cache_name, )(view) return view
def cached_url(regex, view, kwargs=None, name=None, prefix='', timeout=settings.CACHE_MIDDLEWARE_SECONDS, user_sensitive=True): view = cache_page(timeout)(view) if user_sensitive: view = vary_on_cookie(view) return url(regex, view, kwargs, name, prefix)
def as_view(cls, **initkwargs): view = super(VaryOnCookieMixin, cls).as_view(**initkwargs) return vary_on_cookie(view)
from django.conf.urls import patterns, include, url from django.conf import settings from django.contrib import admin from django.contrib.auth.decorators import login_required from django.views.decorators.vary import vary_on_cookie from bambu_bootstrap.views import DirectTemplateView from bambu_bootstrap.decorators import body_classes admin.autodiscover() urlpatterns = patterns( '', url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^$', vary_on_cookie( body_classes(DirectTemplateView.as_view(template_name='home.html'), 'home')), name='home'), url(r'^mail/', include('bambu_mail.urls')), url(r'logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}, name='logout'), url(r'', include('social_auth.urls')), url(r'^', include('mynexthack.inspiration.urls')))
from django.views.decorators.cache import cache_page from django.views.decorators.vary import vary_on_cookie from grid.views import * __author__ = 'Lene Preuss <*****@*****.**>' CACHE_TIMEOUT = 24 * 3600 urlpatterns = patterns( 'grid.views', # please leave them here, commented out, for quick cache de-/activation when developing # url(r'^$', AllDealsView.as_view(), name='app_main'), # url(r'^(?P<group>.+)/(?P<list>.+)/$', TableGroupView.as_view(), name='table_list'), url(r'^$', vary_on_cookie(cache_page(CACHE_TIMEOUT)(AllDealsView.as_view())), name='data'), url(r'^all\.(?P<format>(csv|xml|xls))/$', vary_on_cookie( cache_page(CACHE_TIMEOUT)(AllDealsExportView.as_view())), name='export'), url(r'^deal/(?P<deal_id>[\d]+)\.(?P<format>(csv|xml|xls))/$', vary_on_cookie( cache_page(CACHE_TIMEOUT)(DealDetailExportView.as_view())), name='export'), url(r'^(?P<group>.+)/(?P<list>.+)\.(?P<format>(csv|xml|xls))/$', vary_on_cookie( cache_page(CACHE_TIMEOUT)(TableGroupExportView.as_view())), name='export'), url(r'^(?P<group>.+)\.(?P<format>(csv|xml|xls))/$', vary_on_cookie(
url(r'^api/custom/$', custom_api), url(r'^api/email_check/$', email_check_api), url(r'^api/comments/$', user_comments_api), url(r'^fromcrm$', update_user_from_crm), url(r'^suscripcion/editar$', edit_subscription, name="edit-subscription"), url(r'^nuevosuscriptor/$', never_cache(TemplateView.as_view( template_name='thedaily/templates/tmp.html')), { 'extra_context': {'signup': True}}, name="account-tmp"), # Profile url(r'^perfil/editar/$', edit_profile, name="edit-profile"), url(r'^perfil/(?P<user_id>\d+)/$', user_profile, name="user-profile"), url(r'^registered_users/$', registered_users, name='registered_users'), url(r'^ldfs_promo/$', ldfs_promo, name='ldfs_promo'), url(r'^registrate/$', signup, name="account-signup"), url(r'^cambiar-password/hecho/$', vary_on_cookie(TemplateView.as_view( template_name='thedaily/templates/password_change_done.html')), name="account-password_change-done"), url(r'^registrate/google/$', google_phone, name="account-google"), url(r'^salir/$', never_cache(logout), name="account-logout"), url(r'^bienvenida/$', welcome, {'signup': True}, name="account-welcome"), url(r'^bienvenido/$', welcome, {'subscribed': True}, name="account-welcome-s"), url(r'^cambiar-password/$', password_change, name="account-password_change"), url(r'^cambiar-password/hecho/$', never_cache(TemplateView.as_view( template_name='thedaily/templates/password_change_done.html')), name="account-password_change-done"), url(r'^cambiar-password/(?P<user_id>\d{1,})-(?P<hash>.*)/$', password_reset, name='account-password_change-hash'), url(r'^completar-registro/(?P<user_id>\d{1,})-(?P<hash>.*)/$',
), url( r'^data/' + PROJECT + '$', weblate.trans.views.basic.data_project, name='data_project', ), # AJAX/JS backends url( r'^js/ignore-check/(?P<check_id>[0-9]+)/$', weblate.trans.views.js.ignore_check, name='js-ignore-check', ), url(r'^js/i18n/$', cache_page(3600)(vary_on_cookie( django.views.i18n.JavaScriptCatalog.as_view( packages=['weblate']))), name='js-catalog'), url( r'^js/mt-services/$', weblate.trans.views.js.mt_services, name='js-mt-services', ), url( r'^js/translate/(?P<unit_id>[0-9]+)/$', weblate.trans.views.js.translate, name='js-translate', ), url( r'^js/changes/(?P<unit_id>[0-9]+)/$', weblate.trans.views.js.get_unit_changes,
name="render-check", ), path( "js/ignore-check/<int:check_id>/", weblate.trans.views.js.ignore_check, name="js-ignore-check", ), path( "js/ignore-check/<int:check_id>/source/", weblate.trans.views.js.ignore_check_source, name="js-ignore-check-source", ), path( "js/i18n/", cache_page(3600, key_prefix=VERSION)(vary_on_cookie( django.views.i18n.JavaScriptCatalog.as_view( packages=["weblate"]))), name="js-catalog", ), path("js/matomo/", weblate.trans.views.js.matomo, name="js-matomo"), path( "js/translate/<name:service>/<int:unit_id>/", weblate.trans.views.js.translate, name="js-translate", ), path( "js/memory/<int:unit_id>/", weblate.trans.views.js.memory, name="js-memory", ), path(
url(r'^api/email_check/$', email_check_api), url(r'^api/comments/$', user_comments_api), url(r'^fromcrm$', update_user_from_crm), url(r'^suscripcion/editar$', edit_subscription, name="edit-subscription"), # Profile url(r'^perfil/editar/$', edit_profile, name="edit-profile"), url( r'^perfil/disable/(?P<property_id>[\w_]+)/(?P<hashed_id>\w+)/$', disable_profile_property, name="disable-profile-property", ), url(r'^perfil/(?P<user_id>\d+)/$', user_profile, name="user-profile"), url(r'^registrate/$', signup, name="account-signup"), url(r'^cambiar-password/hecho/$', vary_on_cookie( TemplateView.as_view( template_name='thedaily/templates/password_change_done.html')), name="account-password_change-done"), url(r'^registrate/google/$', google_phone, name="account-google"), url(r'^salir/$', auth_views.LogoutView.as_view(next_page='/usuarios/sesion-cerrada/'), name="account-logout"), url( r'^sesion-cerrada/$', never_cache( TemplateView.as_view( template_name='registration/logged_out.html'))), url( r'^salir-invalid/$', auth_views.LogoutView.as_view( next_page='/usuarios/sesion-finalizada/'),
from django.urls import path from django.views.decorators.cache import cache_page from django.views.decorators.vary import vary_on_cookie from . import views app_name = "patients" urlpatterns = [ path("", cache_page(10*60)(vary_on_cookie(views.Index.as_view())), name="index"), path("export", cache_page(10*60)(views.Export.as_view()), name="export"), path("report", cache_page(60*60)(views.report), name="report"), path("thank_you", cache_page(24*60*60)(views.thank_you), name="thank_you"), path("patient/<int:pk>/", cache_page(10*60)(vary_on_cookie(views.PatientDetails.as_view())), name="patient-details"), path("logout", views.logout, name="logout"), path("login-form", cache_page(24*60*60)(views.login_form), name="login-form"), path("review-report/<int:report_id>/", views.review_report, name="review-report"), path("add-patient", views.add_patient, name="add-patient"), path("report-invalid", views.mark_report_invalid, name="report-invalid"), path("report-queue", views.ReportQueue.as_view(), name="report-queue"), path("get_districts", views.get_statewise_districts, name="get_districts"), path("report-error", views.report_error, name="report-error"), path("error-queue", views.ErrorQueueView.as_view(), name="error-queue"), path("patient/<int:patient_id>/review-error-reports", views.review_errors_for_patient, name="review-errors-for-patient"), path("update-error-report", views.update_error_report, name="update-error-report"), # API paths path('api/patients/', views.get_patients,name='patient list'), path('api/patient/<int:id>', views.get_patient,name='patient'), ]
from django.conf import settings from django.contrib import admin from django.contrib.auth.decorators import login_required from django.views.decorators.vary import vary_on_cookie from bambu_bootstrap.views import DirectTemplateView from bambu_bootstrap.decorators import body_classes admin.autodiscover() urlpatterns = patterns('', url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^$', vary_on_cookie( body_classes( DirectTemplateView.as_view(template_name = 'home.html'), 'home' ) ), name = 'home' ), url(r'^mail/', include('bambu_mail.urls')), url(r'logout/$', 'django.contrib.auth.views.logout', { 'next_page': '/' }, name = 'logout' ), url(r'', include('social_auth.urls')), url(r'^', include('mynexthack.inspiration.urls')) )
} urlpatterns = ur_patterns + [ path("directory/", include("upperroom.directory.urls", namespace="directory")), path("library/", include("upperroom.library.urls", namespace="library")), path("poi/", include("upperroom.newsletter.urls", namespace="poi")), path("resources/", include("upperroom.resources.urls", namespace="resources")), path("roster/", include("upperroom.roster.urls", namespace="roster")), path("news/", include("upperroom.weblog.urls", namespace="news")), path("search/", include("upperroom.search.urls", namespace="search")), path("sitemap.xml", sitemap, {"sitemaps": sitemaps}, name="django.contrib.sitemaps.views.sitemap"), path("", vary_on_cookie(flatpage), {"url": "/"}, name="home"), path("calendar", vary_on_cookie(flatpage), {"url": "/calendar/"}, name="calendar"), path("contact", vary_on_cookie(flatpage), {"url": "/contact/"}, name="contact"), path("copyright", vary_on_cookie(flatpage), {"url": "/copyright/"}, name="copyright"), ] if settings.DEBUG_TOOLBAR: import debug_toolbar urlpatterns = [path("debug/", include(debug_toolbar.urls))] + urlpatterns
from django.urls import path from django.views.decorators.cache import cache_page from django.views.decorators.vary import vary_on_cookie from . import views app_name = "patients" urlpatterns = [ path("", cache_page(10 * 60)(vary_on_cookie(views.Index.as_view())), name="index"), path("export", cache_page(10 * 60)(views.Export.as_view()), name="export"), path("report", cache_page(60 * 60)(views.report), name="report"), path("thank_you", cache_page(24 * 60 * 60)(views.thank_you), name="thank_you"), path("patient/<int:pk>/", cache_page(10 * 60)(vary_on_cookie(views.PatientDetails.as_view())), name="patient-details"), path("logout", views.logout, name="logout"), path("login-form", cache_page(24 * 60 * 60)(views.login_form), name="login-form"), path("review-report/<int:report_id>/", views.review_report, name="review-report"), path("add-patient", views.add_patient, name="add-patient"), path("report-invalid", views.mark_report_invalid, name="report-invalid"), path("report-queue", views.ReportQueue.as_view(), name="report-queue"), path("get_districts", views.get_statewise_districts, name="get_districts"),
weblate.trans.views.basic.data_project, name='data_project', ), # AJAX/JS backends url( r'^js/ignore-check/(?P<check_id>[0-9]+)/$', weblate.trans.views.js.ignore_check, name='js-ignore-check', ), url( r'^js/i18n/$', cache_page(3600)( vary_on_cookie( django.views.i18n.JavaScriptCatalog.as_view( packages=['weblate'] ) ) ), name='js-catalog' ), url( r'^js/mt-services/$', weblate.trans.views.js.mt_services, name='js-mt-services', ), url( r'^js/translate/(?P<service>[^/]+)/(?P<unit_id>[0-9]+)/$', weblate.trans.views.js.translate, name='js-translate', ),
if week > 1: data['prev_url'] = reverse('next', kwargs={'week': week-1}) elif week == 1: data['prev_url'] = reverse('home') # check if there are events in the next interval before showing the "next" link start_days = ((week + 1) * 14) + 1 date_range_start = timezone.now().date() + timezone.timedelta(days=start_days) end_days = ((week + 2) * 14) + 1 date_range_end = date_range_start + timezone.timedelta(days=end_days) next_events_exist = Event.objects.filter(start__range=(date_range_start, date_range_end)).exists() if next_events_exist: data['next_url'] = reverse('next', kwargs={'week': week+1}) return data # cache for 1 * 60 = 1 min home_view = vary_on_cookie(cache_page(1 * 60)(HomeView.as_view())) #home_view = HomeView.as_view() class PastEventsView(views.SuperuserRequiredMixin, ListView): context_object_name = 'events' template_name = 'home.html' def get_queryset(self): return Event.objects.filter(start__lt=timezone.now()) past_events = vary_on_cookie(cache_page(1 * 60)(PastEventsView.as_view())) class MonthView(HomeView): def get_queryset(self):
from django.contrib.auth.decorators import login_required, permission_required, user_passes_test from django.contrib.admin.views.decorators import staff_member_required def fully_decorated(request): """Expected __doc__""" return HttpResponse('<html><body>dummy</body></html>') fully_decorated.anything = "Expected __dict__" # django.views.decorators.http fully_decorated = require_http_methods(["GET"])(fully_decorated) fully_decorated = require_GET(fully_decorated) fully_decorated = require_POST(fully_decorated) # django.views.decorators.vary fully_decorated = vary_on_headers('Accept-language')(fully_decorated) fully_decorated = vary_on_cookie(fully_decorated) # django.views.decorators.cache fully_decorated = cache_page(60*15)(fully_decorated) fully_decorated = cache_control(private=True)(fully_decorated) fully_decorated = never_cache(fully_decorated) # django.contrib.auth.decorators # Apply user_passes_test twice to check #9474 fully_decorated = user_passes_test(lambda u:True)(fully_decorated) fully_decorated = login_required(fully_decorated) fully_decorated = permission_required('change_world')(fully_decorated) # django.contrib.admin.views.decorators fully_decorated = staff_member_required(fully_decorated)
from django.urls import path from django.views.decorators.vary import vary_on_cookie from posts.views import PostDetailView, PostListView urlpatterns = [ path('', vary_on_cookie(PostListView.as_view()), name='index'), path('<int:year>/<int:month>/<int:day>/<slug:slug>/', vary_on_cookie(PostDetailView.as_view()), name='read'), path('tag/<slug:tag>', vary_on_cookie(PostListView.as_view()), name='tag_filter'), ]
), url( r"^js/ignore-check/(?P<check_id>[0-9]+)/source/$", weblate.trans.views.js.ignore_check_source, name="js-ignore-check-source", ), url( r"^js/task/(?P<task_id>" + UUID + ")/$", weblate.trans.views.js.task_progress, name="js_task_progress", ), url( r"^js/i18n/$", cache_page(3600)( vary_on_cookie( django.views.i18n.JavaScriptCatalog.as_view(packages=["weblate"]) ) ), name="js-catalog", ), url( r"^js/mt-services/$", weblate.trans.views.js.mt_services, name="js-mt-services" ), url( r"^js/translate/(?P<service>[^/]+)/(?P<unit_id>[0-9]+)/$", weblate.trans.views.js.translate, name="js-translate", ), url( r"^js/memory/(?P<unit_id>[0-9]+)/$", weblate.trans.views.js.memory,
from django.contrib.flatpages import views from django.contrib.flatpages.sitemaps import FlatPageSitemap from django.contrib.sitemaps import GenericSitemap from django.contrib.sitemaps.views import sitemap from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.urls import include, path from django.views.decorators.vary import vary_on_cookie from posts.feed import LatestPostsFeed from posts.models import Post posts_sitemap_info = { 'queryset': Post.published.all(), 'date_field': 'publish', } feed_view = vary_on_cookie(LatestPostsFeed()) urlpatterns = [ path('about/', vary_on_cookie(views.flatpage), {'url': '/about/'}, name='about'), path('admin/', admin.site.urls), path('feed/', feed_view, name='feed'), path('rss/', feed_view, name='rss'), path('', include('posts.urls')), # the sitemap path( 'sitemap.xml', sitemap, { 'sitemaps': {