0

我发布这个问题不是因为我遇到了一些错误,而是因为我想知道应该如何使用 dajax

这是我想做的事情:

我想要我的主页上的一些链接(例如书籍,作者),当用户点击它们时,他会得到书籍/作者的列表。

这是我正在做的事情:

当用户点击书籍时,我调用了一个 dajax 进程。ajax.py 内部:

  • 我得到所有的书使用books = Book.objects.all()
  • 我有一个template = "{% for book in books %}"... blah blah blah
  • 我渲染模板a = Template(template).render(Context(locals()))
  • 我做 dajax 分配一个作为一些 div 标签的 innerhtml。

这是做事的正确方法吗?我应该从一些 xyz.html 打开模板然后渲染它,而不是在 ajax.py 中编写模板?还有其他好的、干净的方法来完成类似的任务吗?

4

2 回答 2

1

我以前从未听说dajax过(但由于最近的提交大约有 10 个月大,因此该项目似乎已经变得非常不活跃),所以我将提供与dajax.

基本上,您需要做的是显示使用 AJAX 检索的列表。使用以下工具非常简单:

  • jQuery(或其他 JS 框架)
  • JSON

你需要做的是:

  1. 配置您的一个视图,使其返回书籍列表(在此处查找文档
  2. 使用您选择的 JS 框架访问此视图(jQuery.get()对于 jQUery)
  3. 使用您的 JS 框架,通过添加您通过 get 调用检索到的内容来更新您的页面上的某些内容(并且您可以将其放置在您要显示的某个覆盖层中)<ul><ol>
于 2012-06-02T20:44:00.650 回答
0

从专用模板文件加载模板几乎在任何情况下都更干净。一个带有 HTML 的长 python 字符串不是很可读。

当然,您也可以通过发送您的书籍add_data(data,callback_function)并编写一个填充列表的 javascript 回调函数,这将是 Thomas Orozco 提出的 Dajax 方式。

但是从渲染模板文件并将其发送到的分页示例innerHTML来看,这是“正确的方式”。

于 2012-06-02T21:38:34.437 回答