Wczoraj na Blipie pojawiła się dyskusja na temat obsługi cache w Django i domyślnego przechowywania w nim wszystkich widoków, z panelem administracyjnym włącznie. Koncepcji pojawiło się kilka, z łataniem kodu Django włącznie. Na szczęście rozwiązanie jest bardzo proste.

Aby zblokować pamięć podręczną dla panelu administracyjnego (oglądanie nieaktualnych danych przez administratora to raczej średni pomysł), wystarczy udekorować go funkcją never_cache tak, jak robi się to z każdym innym widokiem:

from django.conf.urls.defaults import *
from django.contrib import admin
from django.views.decorators.cache import never_cache

admin.autodiscover()

urlpatterns = patterns('',
    ('^admin/(.*)', never_cache(admin.site.root)),
)

emes przygotował nawet stosowną łatkę na dokumentację.