2012-06-22 4 views
0

Django 프로젝트에 Backbone.js를 사용하려고하는데 혼란 스럽습니다. 내 이해 그래서, 나는 장고와 함께 편안하고 API에 대한 tastypie 필요 예를 들어, 나는 다음과 같은 SongResource이 있도록하는 나는, 새로 온합니다 :Backbone.js와 Django에 대한 혼동

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

이 모든는 않는 모든 목록을 다시 얻을 것 내가 데이터베이스에 가지고있는 노래들, 맞지? 필자는 Backbone.js 라우터에서 이것을 사용하여 모든 노래를 얻은 다음 장고의 견해 대신 JS 코드에서 모든 데이터 조작을 수행해야합니까? 로그인 한 사용자가 구입 한 모든 노래를 가져 오려면 장고에서 모든 노래를 가져 와서 JS 코드로 사용자의 노래를 검색해야합니까? 또한 예를 들어 사용자가 들었던 노래를 저장하고 싶다면 액션을 저장 한보기로 Ajax 요청을 보냄으로써이를 수행하는 데 사용됩니다.

내 장고 앱에서 다섯 가지 모델이 있다고 가정 해 봅시다. Backbone.js에서도 모델을 만들어야하나요? 그래서 Backbone.js에서 나는 장고 (Django)의 데이터를 얻고 장고 (Django) 뷰 대신 프론트 엔드 (front end)에서 조작합니다.

내가 혼란 스러울 지 모르겠 으면 어떤 기사, 자습서, 비디오로 안내해주세요!

덕분에 많은

+0

아마도 서로 '독립적 인'프론트 및 백 시스템을 생각하면 생각 프로세스가 분리 될 수 있습니다. – PhD

+0

얼마나 독립적입니까? –

답변

0

당신은 확실히 : 나는 tastypie에 대해 아무것도 몰라,하지만 (로그인) 현재 사용자의, 당신은 장고 세션에 따라서 당신이 의존 할 수있는 장고 측의 필터링을 할 필요가 Meta.queryset에 대신 모든 요청에 ​​대해 쿼리 세트가 변경됩니다. 아마도 일부 뷰 메소드를 재정의해야 할 것입니다. 절약이 노래를 듣고 현재

그 (시작 또는 노래의 끝) 할 때, 먼저 결정하고, XHR 요청을 트리거하는 이벤트 당신 save() 일부 Listening (백본) 모델에 (Backbone.sync 참조).

예, 클라이언트 사이드를 사용하는 경우 Django 모델의 백본 모델 대응 항목을 사용해야합니다. 다시, Backbone.sync

+0

좋아요. 노래가 끝나면 '듣기'로 간주됩니다. 백본이 장고에게 요청을 보낼 것입니다, 맞습니까? 그렇다면 장고보기에서 그 요청을 "고전적"으로 처리해야합니까? 그래서 API의 요점은 백본에 데이터를 제공하고 그것을 조작하도록 허용하는 것입니다. –

+0

그게 가장 쉽고 읽기 쉬운 방법 일 것입니다. – skrat

+0

예를 들어 라우터에 '/ playlist/: id'가 있으면 URLconf에'url (r '^ playlist/(? P . $)' '과 같은 것이 있어야하고 뷰를 할당해야 함 요청을 처리하는 (생성 된 재생 목록 등을 저장하는 것과 같은)? 나와 함께 해줘서 고마워. –