我需要从外部网站抓取四个html片段,并将它们显示在我的django网站的页眉和页脚中。我肯定需要将这些缓存一段时间。读取和缓存Django模板上使用的html片段
我最初的想法是使用urllib2来读取http,然后将html文件写入我的服务器。通过Django上下文处理器实现,代码检查四个文件的时间戳,并在必要时检索更新的版本,然后将它们读入模板变量。
我似乎正在为Django的四个文件之一的模板变量大小最大化。这迫使我使用readlines()并将该文件作为数组传递给模板。
是否有更优雅的方式从外部网站检索四个html片段,缓存它们并将它们传递给我的模板?
这里就是我的base.html文件模板看起来像现在:
{{ integration_prehead|safe }}
<head>
{{integration_head|safe }}
...
</head>
{% for l in integration_topper %}{{ l|safe }}{% endfor %}
{{ block content }}{{ endblock content }}
{{ integration_footer|safe }}
的prehead.html没有太大的比DOCTYPE开放HTML标记的任何其他。 head.html是一堆javascript和样式表。 topper.html和footer.html是最大的部分,它们是页面的顶部和底部。特别是topper可以每15分钟更改一次,所以在我的模板上进行硬编码是不现实的。
礼帽是39k和太大,不能读入单个Django模板变量,因此for循环。
Html片段不是您的网站的一部分。如何在内部模板系统的帮助下缓存外部html?你确定你的问题是正确的吗?请举例。 – sergzach
不过有趣的是,+1。 – sergzach
谢谢。我编辑了我的问题以提供一些额外的细节。 – wmfox3