gpt4 book ai didi

django - 如何在 django REST 中禁用 IE11 缓存

转载 作者:行者123 更新时间:2023-12-02 09:13:39 24 4
gpt4 key购买 nike

我的 Angular 5 应用程序遇到一些 Internet Explorer 问题,因为在IE 11 我对 django-REST 后端的 get 请求由浏览器缓存。我找到了question建议向响应中添加特殊的缓存控制 header ,但我没有找到如何使用 Django REST 执行此操作的有效答案。我测试过的所有其他浏览器似乎都可以正常工作。

最佳答案

也许您可以使用中间件类将 Cache-Control header 添加到所有响应。

class CacheControlMiddleware:
def __init__(self, get_response):
self.get_response = get_response

def __call__(self, request):
response = self.get_response(request)
response['Cache-Control'] = 'no-cache'
return response

然后将其连接到您的settings.py

MIDDLEWARE = [
...

'your.app.CacheControlMiddleware',

...
]

请记住,这将适用于您可能想要也可能不想要的所有 View (所有 ModelViewSet)。

如果您只想将其应用于特定 View 集,则最好在您的 View 集中重写 retrieve()list() 方法可以在Response上设置Cache-Control header 。有关详细信息,请参阅 http://www.django-rest-framework.org/api-guide/generic-views/#mixins

关于django - 如何在 django REST 中禁用 IE11 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49220992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com