0

Django プロジェクトに Backbone.js を使用しようとしていますが、混乱しています。したがって、私の理解では、tastypieDjango を使用した RESTful API が必要です。たとえば、次のSongResourceようなものがあります。

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

これが行うことは、データベースにあるすべての曲のリストを取得することですよね? 私の理解では、これを Backbone.js ルーターで使用してすべての曲を取得し、Django のビューではなく、JS コードですべてのデータ操作を行う必要がありますか? ログインしたユーザーが購入したすべての曲を取得したい場合は、Django からすべての曲を取得し、JS コードでユーザーの曲を検索する必要がありますか? また、たとえば、ユーザーが聴いた曲を保存したい場合は、アクションを保存するビューに Ajax リクエストを送信することでこれを行うことに慣れています。

もう 1 つのことは、Django アプリに 5 つのモデルがあるとしましょう。Backbone.js にもモデルを作成する必要がありますか? Backbone.js では、Django からデータを取得し、Django ビューの代わりにフロント エンドで操作するだけです。

私の混乱が見られる場合は、いくつかの記事、チュートリアル、ビデオに案内してください!

どうもありがとう

4

1 に答える 1

0

間違いなくDjango側でフィルタリングを行う必要があります:)tastypieについては何も知りませんが、現在の(ログインしている)ユーザーの時点では、djangoセッションにあるため、信頼することはできませんMeta.queryset。代わりに、クエリセットはリクエストごとに変更されます。おそらく、いくつかのviewメソッドをオーバーライドする必要があります。

聴いた曲を保存するときは、最初にそれをいつ行うか(曲の開始または終了)を決定し、そのイベントでXHRリクエストをトリガーsave()するListening(バックボーン)モデルを決定します(を参照Backbone.sync)。

はい、クライアント側で使用する場合は、Djangoモデルに対応するバックボーンモデルを使用する必要があります。繰り返しますが、を参照してくださいBackbone.sync

于 2012-06-22T11:02:28.210 に答える