关于Backbone.js和Django的困惑

时间:2012-06-22 07:10:25

标签: javascript django rest backbone.js tastypie

我正在尝试将Backbone.js用于我的Django项目,这令人困惑。所以根据我的理解,我需要tastypie用于Django的RESTful API我是新手,所以例如我有一个SongResource如下:

class SongResource(ModelResource):
    class Meta:
        queryset = Song.objects.all()
        authorization = Authorization()

这样做的全部内容是获取我在数据库中所有歌曲的列表,对吧?据我所知,我应该在Backbone.js路由器中使用它来获取所有歌曲,然后在我的JS代码而不是Django的视图中进行所有数据操作? 因此,如果我想获得登录用户购买的所有歌曲,我应该从Django获取所有歌曲,并在JS代码中搜索用户的歌曲? 另外,如果我想保存用户收听的歌曲,我习惯通过向我保存动作的视图发送Ajax请求来做到这一点。

另一件事是,假设我的Django应用程序中有五个模型,我是否应该在Backbone.js中创建给出模型? 所以在Backbone.js中,我只是从Django获取数据并在前端操作它们而不是像我以前那样使用Django视图?

如果你能看到我的困惑,请指导我一些文章,教程,视频等等!

非常感谢

1 个答案:

答案 0 :(得分:0)

你肯定要对Django方面进行过滤:)我对tastypie一无所知,但截至当前(登录)用户,你在django会话中有这个,因此你不能依赖Meta.queryset,而是每个请求的查询集都会更改。您可能需要覆盖一些视图方法。

在保存收听的歌曲时,首先要决定何时播放(歌曲的开头或结尾),然后根据该事件save()某个Listening(Backbone)模型,将触发XHR请求(请参阅Backbone.sync)。

是的,如果你使用客户端,你应该为你的Django模型使用Backbone模型对应物。再次,请参阅Backbone.sync