[英]Dont reload static files with runserver, django
我将大的json文件加载为页面的静态文件。 这需要几秒钟。 根据我的经验,经验丰富的Django(从runserver开始)在刷新我的网站时再次加载了这些文件,由于加载时间的缘故,这不是我想要的。
我如何才能最轻松地允许这种行为,以便在服务器启动时仅将文件加载一次?
提前致谢!
首先要注意的是:
就是说,如果您知道客户端上的大块数据没有变化(即刷新将产生完全相同的页面)并且由于我不熟悉的某些原因而没有缓存,那么在客户端上缓存大块数据可能会很有用。 问题在于,这是我们正在谈论的页面本身,因此您希望防止该页面被下载。 作为纯客户端意味着这必须在JS中完成,您要避免在页面下载后(即使在加载之前)开始运行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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.