我想知道Django本机是否支持DOM中的更改。我不知道它现在是否正确,所以我想我会解释它。例如,如果我用django制作一个电子商店网站。我想当我点击它应该添加到篮子里的产品时,html可能看起来像这样。因此,对于每个产品,我都会动态添加新的<li></li>
。我可以用django做到这一点。或者我必须使用Javascript吗?
<div id="basket">
<ul>
<li>
// some product
</li>
</ul>
</div>
答案 0 :(得分:1)
取决于。
1)你可能想让你的应用程序非常动态,所以你的购物篮中的另一个元素没有页面重新加载。这将通过组合ajax请求(您的服务器需要知道您在篮子中有什么)与DOM操作(纯粹的JavaScript)来完成;
2)你可以使用更经典的方法。将元素添加到购物篮只是一个POST请求。 Django处理请求(存储在会话中或其他当前篮子中)并为您生成新的HTML。
Imho,第一种方法更快,对最终用户来说看起来更好。缺点是您可能会丢失一些有价值的信息,这些信息会在用户重新加载整个页面时自动更新(例如项目的价格)。但如果我们谈论商店,这应该不是问题。毕竟产品数据的变化频率如何?答案 1 :(得分:0)
Django本身并不为您生成javascript。通常的方法是将您的javascript导入模板中的页面。