Привет, удивительные люди!
С Django у меня есть функция, которая требует много вычислений для отображения, но, честно говоря, не нужно рассчитывать каждый раз, когда вы посещаете представление.
Поэтому я использую Django cache
.Прежде чем получить доступ к функции, у меня есть декоратор, который проверяет, активен ли пользователь.
@access_to('active_user') # i.e `if not request.user.is_active: PermissionDenied`
@cache_page('one_week') # Not really that way
def index(request,slug):
all_models1 = Model1.objects.all()
all_models2 = Model2.objects.all()
all_models3 = Model3.objects.all()
# Calculation to check the Model that a user has visited recently
Давайте рассмотрим пример:
Пользователь активен в 8: 00 AM. и посещает представление с кэшем, срок действия которого истекает через одну неделю
Изображение SuperUser просто меняет user.is_active = False
в 9:00.
Означает ли это, что пользователь всегда будет иметь доступ до истечения cache
?
Какие данные cache
перехватывает до истечения срока действия?
Спасибо!