django request.POST数据缓存

发布于 2024-12-12 10:51:22 字数 930 浏览 0 评论 0原文

您有一个带有表单和许多输入的模板,这些输入通过 POST 请求将一些数据传递到视图,处理它们并将结果发送到另一个模板。在最终的模板中,如果我使用浏览器后退按钮跳转到第一个视图,我可以再次看到旧数据。我刷新页面,刷新旧数据,插入新数据,再次提交,但当我看到最终视图时,仍然保留一些旧数据。即使我重新启动调试服务器,问题仍然存在。似乎存在一些数据缓存问题,我只能通过刷新浏览器缓存来解决(有时不能)。这是视图代码:http://dpaste.com/643569/ 和第一个模板代码:http://dpaste.com/640960/。 stackoverflow.com 上的某人告诉我,这是控制它的“缓存导航器”,并建议我使用自定义中间件来禁用它,所以我遵循了该建议:

    #middleware.py

    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

我在 my_app/util 中创建了一个文件 middleware.py,并且然后我将它插入到settings.py的中间件部分。我还在 html head 部分添加了 pragma no cache 元标记,但这些都没有帮助。问题仍然存在。

有什么建议吗?

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, old data are flushed, and i insert new data, i submit again but some old data remains when i see the final view. the problem remain even if i restart the debug server. it seems that there's some data-caching problem that i can solve only flushing browser cache (and sometimes not). this is the view code: http://dpaste.com/643569/ and the first template code: http://dpaste.com/640960/. someone here on stackoverflow.com said me that is 'cache navigator' that control it, and suggest me to use a custom middleware to disable it, so i followed that advice:

    #middleware.py

    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

i created a file middleware.py in a my_app/util, and then i inserted it in the middleware section of settings.py. i've also added the pragma no cache meta tag in the html head section, but none of these helped. the problem remains.

any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文