我正在查询我的数据库以获取商店列表,并希望将此列表保存在 memcache 中,因为它在每个页面上都重复使用并且实际上不会更改。代码对我来说似乎很简单,但它给了我以下错误:
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1546, in __call__
return response(environ, start_response)
TypeError: 'Query' object is not callable
我的代码是:
shops = memcache.get('shops')
if shops is not None:
return shops
else:
shops = Shop.all().filter('active = ', True).order('abbrev')
memcache.set('shops', shops)
return shops
任何建议将不胜感激。
更新
如果我解释如何使用它的输出,也许会有所帮助。然后我在活动模板中使用 Django 调用此操作的结果,使用 {{ for shop in stores }}。也许我需要在设置 memchache 后再次声明“shops”变量?
更新2
然后将变量传递给模板,如下所示:
template_values = {
'shops': shops,
}
self.response.out.write(template.render('templates/home.html', template_values))