кеширование данных пост-запроса django - PullRequest
0 голосов
/ 27 октября 2011

Привет, есть шаблон с формой и множество входных данных, которые передают некоторые данные через POST-запрос к представлению, обрабатывают их и отправляют результат в другой шаблон. В последнем шаблоне, если я использую кнопку браузера назад, чтобы перейти к первому виду, я снова вижу старые данные. Я обновляю страницу и вставляю новые данные, я отправляю снова, но некоторые старые данные остаются, когда я вижу окончательный вид. проблема останется, даже если я перезапущу сервер отладки. как я могу предотвратить это? кажется, что есть некоторое кеширование данных, которое я могу решить только очисткой кеша браузера. это код вида: http://dpaste.com/640956/ и первый код шаблона: http://dpaste.com/640960/

есть идеи?

tnx - Люк

Ответы [ 2 ]

0 голосов
/ 28 октября 2011

Может быть, autocomplete = "off" в теге формы вам может помочь.

https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion

0 голосов
/ 27 октября 2011

Это не Джанго, который заполняет форму. Есть кеш навигатор. Вы должны отключить кеш-навигатор. Я использую пользовательское промежуточное ПО для этого:

from django.http import HttpResponse

class NoCacheMiddleware(object):

    def process_response(self, request, response):
        response['Pragma'] = 'no-cache'
        response['Cache-Control'] = 'no-cache must-revalidate proxy-revalidate no-store'
        return response

Не забудьте добавить промежуточное ПО на settings.py:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'ghap.utils.middleware.NoCacheMiddleware',
)
...