我将大json文件作为页面的静态文件加载。这需要几秒钟。 正如我读过并经历过的那样,当我的网站刷新时,Django(以runserver启动)会再次加载这些文件,这不是我想要的,因为加载时间。
我怎样才能最轻松地允许这种行为,以便文件只在服务器启动时加载一次?
提前致谢!
答案 0 :(得分:0)
首先请注意:
也就是说,如果你知道它们没有改变(例如刷新将产生完全相同的页面),那么在客户端上的数据上缓存大块可能是有用的,并且由于某种原因它们不会缓存我不熟悉用。问题是,因为它是我们正在讨论的页面本身,并且您希望防止下载该页面。纯客户端意味着必须在JS中完成,它在下载页面后开始运行(即使在加载之前) - 您要阻止它。所以实现这一目标的方法可能是:
document.write
覆盖页面。实施很简单:
Django
urls
文件将大型JSON请求重定向到仅包含JS的索引模板。要传递调用的原始页面的名称,可以直接在模板的脚本标记中设置变量(使用Django {{ }}
模板变量)。请注意,您需要一种方法来跳过此操作并强制加载,例如POST变量。document.cookie="name=stuff"
中设置cookie,解析decodeURIComponent(document.cookie)
读取它。结帐W3Schools可以轻松完成某些功能,如果您的口味等,可以使用jquery
进行Google搜索。window.location.replace('path/to/page?force=1')
。再次确保您需要这样做。如果有人知道为什么页面没有被浏览器缓存,请发表评论,我会在这里添加。
最后一点需要注意 - 如果存在问题,Cookie存储空间仅限4k
。