【发布时间】:2020-01-26 05:18:52
【问题描述】:
我有一个 DRF API,它实现了允许 GET 和 POST 调用的视图:
@api_view([
'GET',
'POST',
])
@cache_page(timeout=60 * 10)
def my_view(request):
# do stuff
我注意到:
GET请求按预期缓存。POST请求根本不会被缓存。
问题:
这是故意的还是我做错了什么?
如果按预期工作...如何让 Django 也缓存
POST请求?
【问题讨论】:
-
我不明白你为什么想要这个。 POST 旨在更新数据库中的某些内容。缓存它是没有意义的。
-
POST 也用于像
create a search db query这样的目的,这是一个只读操作。在这种情况下,每个 POST 操作都是幂等的,并且可以从缓存中受益。 -
不,不应该。那应该是 GET。
-
并非如此。这取决于。
标签: python django http post caching