有时候我们想把一个 list 或者 dict 传递给 javascript,处理后显示到网页上,比如要用 js 进行可视化的数据。请注意:如果是不处理,直接显示在网页上,用Django模板就可以了,请看前面的教程。 这里讲述两种方法: 一,页面加载完成后,在页面上操作,在页面上通过 ajax 方法得到新的数据(再向服务器发送一次请求)并显示在网页上,这种情况适用于页面不刷新的情况下,动态加载一些内容。比如用户输入一个值或者点击某个地方,动态地把相应内容显示在网页上。 这种请问详见 Django Ajax 一节的内容。 二,直接在视图函数(views.py中的函数)中渲染一个 list 或 dict 的内容,和网页其它部分一起显示到网页上(一次性地渲染,还是同一次请求)。 请看下面的示例: views.py
home.html 中的一部分
需要注意的是,我们如果直接这么做,传递到 js 的时候,网页的内容会被转义,得到的格式会报错。 访问时会得到 Uncaught SyntaxError: Unexpected token ILLEGAL 需要注意两点: 1. views.py中返回的函数中的值要用 json.dumps()处理 2. 在网页上要加一个 safe 过滤器。 views.py
home.html 只给出了 js 核心部分:
如果你对 js 比较熟悉,至此为止,下面的不用于看了,如果不太熟悉,可以参考下面的更详细的代码。 html 完全代码及完整代码下载(最后面):
|
|