2016-06-08 8 views
0

ich derzeit django mit bin, und ich bin versucht, wie meine Ansicht cachen soWie Ansichten in django zwischenzuspeichern

from django.views.decorators.cache import cache_page 

@cache_page(60 * 15) 
def index(request): 
    # This method takes time to run, which is why I need to cache this view 
    a_method_that_preforms_heavy_db_transactions() 

    context_dict={'Models': Model.objects.all()} 
    return render(request, 'webapp/index.html', context_dict) 

I a_method_that_preforms_heavy_db_transactions() habe nur die Ladezeit zu testen, um zu sehen, ob es die Ansicht zwischengespeichert, aber die Ladezeit der Zeit ändern sich nicht, wenn seine vermeintlichen „Cache“ werden, und ich bin mir nicht sicher, warum dies mein settings.py ist

CACHES = { 
    'default': { 
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 
    'LOCATION': 'My_computers_ip_address:11211', 
    } 
} 

Antwort

2

Sie erhalten eine caching service, zB Memcached

hinzufügen müssen
CACHES = { 
    'default': { 
     'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 
     'LOCATION': '127.0.0.1:11211/A_ROUTE_WITH_A_HEAVY_TRANSACTION', 
    } 
} 

finden Sie alles benötigen Sie hier:

https://docs.djangoproject.com/en/1.9/topics/cache/

+0

Ich stelle es auf ‚CACHES = { ‚default‘: { ‚BACKEND‘:‘ django.core.cache.backends .memcached.MemcachedCache ', ' ORT ':' 192.168.1.6:11211 ', } } –

+0

Schön. Stellen Sie sicher, dass Sie den von mir bereitgestellten Link gelesen haben. Er enthält wichtige Schritte, wie Sie ihn einrichten können. "Notiz", dass die LOCATION in meinem Beispiel auf eine zufällige IP verweist, Ihre 'IP' kann' 127.0.0.1' oder 'localhost: 300' sein, was Sie herausfinden müssen! @ the1.7gpaprogrammer – James111

+0

Ich hatte diese Änderung in meinem Code vorgenommen, bevor ich zuerst die Frage gestellt habe und es immer noch nicht funktioniert –

1

Haben Sie set caching up? Sie müssen CACHES in Ihrer Datei definieren. Sie können Memcached, Redis, Ihre Datenbank oder ein Dateisystem verwenden. Bei der einfachsten Konfiguration ist mit lokalen Speicher, da es keine externe Dienstleistungen benötigt:

CACHES = { 
    'default': { 
     'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 
     'LOCATION': 'unique-snowflake', 
    } 
} 
Verwandte Themen