django gegevensverzameling na aanvraag

hi have a template with a form and many inputs that pass some data trough a POST request to a view, that process them and send the result to another template. in the final template, if i use the browser back button to jump to the first view, i can see again old data. i refresh the page and i insert new data, i submit again but some old data remain when i see the final view. the problem remain even if i restart the debug server. how can i prevent it? it seems that there's some data-caching that i can solve only flushing browser cache. this is the view code: http://dpaste.com/640956/ and the first template code: http://dpaste.com/640960/

enig idee?

tnx - luke

0
Wat bevat deze __ __ -items? Je bedoelt als 'iono' in request.POST . En je zou sowieso een Django-vorm moeten gebruiken.
toegevoegd de auteur Daniel Roseman, de bron
het probleem blijft: ik heb de oplossing van de danihp geprobeerd: ik maak een map 'util' in de map my_app en ik maak een bestand NoCacheMiddleware.py met de geposte code. dan heb ik in de setting.py middleware sectie de volgende string gezet: 'my_app.util.NoCacheMiddleware.NoCacheMiddleware'. de server start, de eerste pagina is geladen zonder fout, maar zelfs als ik probeer om gegevens in te voegen in de eerste sjabloon en deze in te dienen, in de tweede heb ik een mix van oude en nieuwe gegevens. ik heb ook pragma no cache-metatag toegevoegd in de html-kop in de basissjabloon, maar geen van beide heeft dit geholpen ... ik heb geen andere ideeën. elke sugg
toegevoegd de auteur user1019294, de bron

2 antwoord

Misschien kan autocomplete = "off" in de formuliertag u helpen.

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

0
toegevoegd

Is django geen die vorm vult. Is cache-navigator. U moet de cache-navigator uitschakelen. Ik gebruik hiervoor een aangepaste middleware:

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

Vergeet niet om middleware toe te voegen over 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',
)
0
toegevoegd
tnx. is er een manier om dit te doen met render_to_response? hoe kan ik in elk geval je zielsgesteldheid integreren?
toegevoegd de auteur Luke, de bron
je zou een bestand genaamd NoCacheMiddleware moeten maken op een app. Kopieer NoCacheMiddleware-klasse naar dit bestand en voeg het 'pad'-bestand toe aan MIDDLEWARE_CLASSES op settyings.py.
toegevoegd de auteur dani herrera, de bron