2013-04-11 2 views
1

비 JSON 서버 응답에서 모델 인스턴스를 만듭니다내가 관련된 볼 수있는 표준 모델이 Backbone.js

var Item = Backbone.Model.extend({ 
    url: function() { 
    return "/item/123" 
    } 
}); 
var ItemView = Backbone.View.extend({}); 

그러나, 서버 측에서, URL에서 "/ 아이템/123"을, 내 Django 응용 프로그램은 JSON 형식의 내용을 렌더링하지 않고 기본 페이지 안에 직접 삽입되도록 디자인 된 HTML 템플리트를 렌더링합니다. 서버에서 동적 콘텐츠를 제공하는 방식을 크게 변경하지 않고 모델을 렌더링하려면 어떻게해야합니까? Backbone.js의 모든 철학을 오해하고있는 것일까 요?

조금 배경을 알려 드리겠습니다. Backbone.js를 통합하여 장고 웹 응용 프로그램의 JS 코드를 리팩터링하는 과정에 있습니다. 앱 자체는 그다지 크지 않지만 Ajax 호출을 많이 사용합니다.

답변

2

model에 템플릿을로드해야한다고 생각하지 않습니다. 템플릿로드 및 렌더링은 대개 view의 작업입니다. 나는,이 솔루션은 Backbone.js에 대한 완벽하지 실현

var ItemView = Backbone.View.extend({ 
    render: function(){ 
    var that = this; 
    $.get('/item/123', function(html){ 
     that.$el.html(html); 
    }); 
    return this; 
    } 
}); 
+0

을하지만 리팩토링 프로세스를 시작하는 완벽한 될 것입니다 : 당신의 viewrender 방법으로 AJAX와 직접 HTML을로드하십시오. –

0

이미 없으면 백엔드 및 유사한 응용 프로그램을위한 이동 솔루션 인 django-app Tastypie를 살펴보십시오.

코드를 쓰지 않고도 Tastypie와 케이스별로 기초적인 솔루션을 롤업하는 것이 얼마나 많은 작업인지 알기가 어렵습니다. 설명서를 살펴보십시오.

관련 문제