我正在尝试将整个模板缓存在includement_tag中,但是我对此有疑问。
这是我的include_tag代码:
Navigator.popUntil
和html模板的代码:
@register.inclusion_tag('accounts/helpers/user_info.html', takes_context=True)
def user_info(context, username, size=40):
request = context['request']
user = cache.get(username)
if not user:
user = User.objects.get(pk=username)
print("cached")
cache.set(
username,
user,
settings.USER_LAST_ACTIVITY_TIMEOUT)
return {'user': user, 'size': size}
使用此代码,我仅缓存用户,但我想在标记中缓存整个模板。你能帮我怎么做吗?我已经尝试了一切,但是我不知道如何处理。
谢谢
答案 0 :(得分:0)
我使用简单标记:
@register.simple_tag(takes_context=True)
def user_info(context, username, size=40):
tpl = cache.get(username)
if not tpl:
user = User.objects.get(pk=username)
template = loader.get_template('app/user_info.html')
tpl = template.render({'user': user, 'size': size})
cache.set(username, tpl)
return tpl