我正在使用 drf-extension 来缓存我的 API。但它与 cache_response 装饰器没有按预期工作。
它缓存 say 的响应/api/get-cities/?country=india
。但是当我点击时 /api/get-cities/?country=usa
,我得到了相同的响应。
这是示例代码:
设置.py
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient"
},
"KEY_PREFIX": "city"
}
}
REST_FRAMEWORK_EXTENSIONS = {
'DEFAULT_USE_CACHE': 'default',
'DEFAULT_CACHE_RESPONSE_TIMEOUT': 86400,
}
视图.py
class GetCities(APIView):
@cache_response()
def get(self, request):
country = request.GET.get("country", "")
return get_cities_function(country)
请帮助解决这个问题。