0

假设我有一个要使用 JavaScript 以某种方式呈现的书籍列表,而不是仅仅执行以下操作;

{% for book in books %}
  <div class="book-container">
    <div class="title">{{ book.title }}</div>
    <div class="author">{{ book.author }}</div>
  </div>
{% endfor %}

我想将书籍的 json 表示加载到 JavaScript 变量中(可能是我在客户端代码中定义的 Book 对象列表),并使用 JavaScript 以更“花哨”的方式呈现它。

无论如何,我正在考虑在页面加载时发送一个发布请求以获取数据并将其加载到变量中。有一个更好的方法吗?这些是我最初的幼稚猜测。

编辑:本质上,我想了解一种合法/推荐的方式来获取上下文服务器端并将其加载到页面加载时的 JavaScript 变量客户端。

4

2 回答 2

2

为什么不直接在模板中将其输出为 JSON 呢?这将节省额外的 POST 请求。

<script type="text/javascript">
    var books = {{ my_json_data }}
</script>

Nowbooks是一个全局 JS 变量,可以从您的其他脚本中访问。

于 2012-08-03T21:24:39.523 回答
1

看看提供 REST 框架的 django-tastypie。您可能还想查看backbone.js 和一般的AJAX

https://github.com/toastdriven/django-tastypie

http://backbonejs.org/

于 2012-08-03T21:25:02.463 回答