0

我正在尝试将 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 视图?

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

非常感谢

4

1 回答 1

0

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

在保存听过的歌曲时,您首先决定何时执行此操作(歌曲开始或结束),并且在该事件时您的save()某个Listening(主干)模型将触发 XHR 请求(请参阅 参考资料Backbone.sync)。

是的,如果你在客户端使用它们,你应该为你的 Django 模型建立对应的 Backbone 模型。又见Backbone.sync

于 2012-06-22T11:02:28.210 回答