Django:它支持DOM的变化吗?

时间:2012-01-16 10:15:09

标签: django

我想知道Django本机是否支持DOM中的更改。我不知道它现在是否正确,所以我想我会解释它。例如,如果我用django制作一个电子商店网站。我想当我点击它应该添加到篮子里的产品时,html可能看起来像这样。因此,对于每个产品,我都会动态添加新的<li></li>。我可以用django做到这一点。或者我必须使用Javascript吗?

<div id="basket">
  <ul>
     <li>
     // some product
     </li>
  </ul>
</div>

2 个答案:

答案 0 :(得分:1)

取决于。

1)你可能想让你的应用程序非常动态,所以你的购物篮中的另一个元素没有页面重新加载。这将通过组合ajax请求(您的服务器需要知道您在篮子中有什么)与DOM操作(纯粹的JavaScript)来完成;

2)你可以使用更经典的方法。将元素添加到购物篮只是一个POST请求。 Django处理请求(存储在会话中或其他当前篮子中)并为您生成新的HTML。

Imho,第一种方法更快,对最终用户来说看起来更好。缺点是您可能会丢失一些有价值的信息,这些信息会在用户重新加载整个页面时自动更新(例如项目的价格)。但如果我们谈论商店,这应该不是问题。毕竟产品数据的变化频率如何?

答案 1 :(得分:0)

Django本身并不为您生成javascript。通常的方法是将您的javascript导入模板中的页面。