我正在使用Django的网站框架来运行多个网站,每个SITE_ID
都基于当前的城市数据。
任何方式@cache_page
以便Django根据SITE_ID
缓存正确的视图?
这不起作用,因为Django将在所有网站上返回相同的缓存值,而不管SITE_ID
@cache_page(24 * 60 * 60)
def my_page(request):
myview = table.objects.filter(city_id=settings.SITE_ID)
#...
答案 0 :(得分:0)
你可以这样做:this line谈论这个
@cache_page(24*60*60, key_prefix="%s" % settings.SITE_ID)
def my_page(request):
myview = table.objects.filter(city_id=settings.SITE_ID)
#...
或更好地缓存更易于控制的查询集
def my_page(request):
cities = cache.get('cities_%s' % settings.SITE_ID)
if not cities:
cities = table.objects.filter(city_id=settings.SITE_ID)
cache.set('cities_%s' % settings.SITE_ID, cities, 24*60*60)
#...
#...