0

我正在建立一个网站,其中一个页面包含交互式地图。该映射实现为一个大表,其中每个节点都是一个 td。

现在这张地图需要一些时间来渲染,所以,我希望网站在渲染时显示出来,这样即使地图没有完全渲染,用户也可以点击链接或地图的一部分呈现。

是否有捷径可寻?AJAX 是一种选择,但由于它是一个 Django 网站,并且地图依赖于 Django 模板中的数据,因此 AJAX 变得有点笨拙。

那么有没有办法让页面在渲染时可见?

(我考虑过让每个节点都成为 iframe,这样它们就可以单独呈现,但这似乎也有点傻)

4

2 回答 2

0

django 模板应该只呈现一个空地图(或包含前 10 个点的地图),并在页面准备好时触发 javascript 代码

这个 javascript 脚本应该这样做:

  1. 从 django 请求 10 个节点(使用不同的 url/视图)
  2. 将获取的节点渲染到页面中
  3. 如果没有更多节点:END
  4. 转到 1。

希望这可以帮助

于 2012-11-09T17:47:02.120 回答
0

在尝试了一些不同的事情之后,问题似乎是数据库查询太多。每个节点在渲染时都会调用数据库,这导致它们非常慢。

供参考:如果在页面上大量使用自定义过滤器,则 Django 中的自定义过滤器不应进行数据库查询

于 2012-11-15T16:43:09.523 回答