【发布时间】:2014-03-26 19:09:00
【问题描述】:
我对 django 还很陌生,但对于我想做的事情的最佳实践是什么感到有些困惑。
在我的网络应用中,当用户打开页面时,django 通过上下文提供一个 JSON 对象。该对象包含一个包含 100 个对象的数据库。
该页面的目的是允许用户从该列表中选择任意数量的对象,然后当他们单击“保存”时,用户的选择会保存在另一个数据库表中。
现在,一种选择是让每次用户添加或删除对象时,都会调用 django 视图,将对象添加到数据库中,然后通过HttpResponseRedirect(request.META.get('HTTP_REFERER')) 将用户返回到页面。
我不喜欢这个选项,因为它不仅需要在每次选择选项时写入数据库,而且每次都必须重新加载和重定向页面。这似乎效率低下。
所以,我想做的是在 javascript 中维护列表,然后仅在用户单击“保存”后才提供 django 查看整个列表。我知道这可以通过设置 URL 正则表达式来实现,但我宁愿不通过 URL 传递数据。
对执行此操作的最佳实践有何建议?
编辑:
解决了!将列表序列化为 json 对象,然后通过 ajax post 发送该对象:
$.ajax({
type: "POST",
url:"/save/",
data: new_json,
success: function(){
alert('test')
},
error: function(){
alert("Error");
})
【问题讨论】:
标签: javascript python database json django