在优秀的Django cache framework documentation中,它提到了为模板片段缓存添加额外参数的可能性:
有时您可能希望缓存片段的多个副本 取决于片段内显示的一些动态数据。对于 例如,您可能需要使用侧边栏的单独缓存副本 您网站的每个用户的上一个示例。这是通过传递
{% cache %}
模板标记的其他参数唯一 识别缓存片段:
{% load cache %} {% cache 500 sidebar request.user.username %} .. sidebar for logged in user .. {% endcache %}
指定多个参数来识别片段是完全正确的。 只需根据需要将尽可能多的参数传递给
{% cache %}
。
然而,在每个视图缓存中,似乎没有提及做类似事情的任何事情。它提到了使用@vary_on_headers
和@vary_on_cookie
的可能性,但这并不完全相同。在我的用例中,我希望使用request.user.company
之类的东西来确保来自同一公司的所有用户获得相同的缓存版本的视图。
是不是可以将这些参数添加到每个视图缓存而不是在模板中定义它?