POST 请求是否缓存在 Django 中?

Aid*_*tis 0 django django-cache graphql

我想根据发送给它的 POST 数据来缓存一些视图。

装饰器会django.views.decorators.cache.cache_page自动执行此操作还是我需要以某种方式调整它?对于后一种情况,我该怎么办?

我正在尝试缓存 GraphQL POST 请求。

dir*_*ten 5

不,POST 响应永远不会被缓存:

    if request.method not in ('GET', 'HEAD'):
        request._cache_update_cache = False
        return None  # Don't bother checking the cache.
Run Code Online (Sandbox Code Playgroud)

(从FetchFromCacheMiddlewaredjango.middleware.cache)。

您必须使用低级缓存 API自己实现一些东西。缓存对 POST 请求的响应是最不常见的,因为 POST 请求旨在更改数据库中的内容,并且结果对于特定请求始终是唯一的。您必须考虑到底要缓存什么。