djangoはリクエストデータのキャッシュをポストする

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/

何か案が?

tnx - luke

0
このすべては何ですか? __ リクエストに「iono」がある場合はを意味します.POST 。とにかく、Django形式を使うべきです。
追加された 著者 Daniel Roseman,
問題は残っています:私はdanihpのソリューションを試しました。私はmy_appフォルダ内に 'util'というフォルダを作成し、投稿されたコードでNoCacheMiddleware.pyファイルを作成します。次に、私はsetting.pyミドルウェアセクションに 'my_app.util.NoCacheMiddleware.NoCacheMiddleware'の文字列を入れました。サーバーの最初のページはエラーなしで読み込まれますが、最初のテンプレートにデータを挿入して送信しようとしても、2番目のテンプレートには古いデータと新しいデータが混在しています。私はまた、基本テンプレートのhtmlの頭にpragma no cacheメタタグを追加しましたが、これは役に立たなかった...私は他のアイデアはありません。任意のスグ
追加された 著者 user1019294,

2 答え

たぶんautocomplete = "オフ"フォームタグであなたを助けることができます。

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

0
追加された

djangoは人の形になっていません。キャッシュナビゲータです。キャッシュナビゲータをオフにする必要があります。私はこれを行うためにカスタムミドルウェアを使用します:

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',
)
0
追加された
tnx。 render_to_responseでそれを行う方法はありますか?いずれにしても私の場合、あなたのソウルティーンをどのように統合できますか?
追加された 著者 Luke,
一部のアプリでNoCacheMiddlewareというファイルを作成する必要があります。 NoCacheMiddlewareクラスをこのファイルにコピーし、 'path'ファイルをsettyings.pyのMIDDLEWARE_CLASSESに追加します。
追加された 著者 dani herrera,