2012-01-16 2 views
0

Django 기본 지원이 DOM에서 변경되는지 궁금합니다. 나는 그것이 지금 그것을 위해 정확한 이름인지 모른다. 그래서 나는 그것을 대신 설명 할 것 같다. 예를 들어, 내가 장고로 전자 상점 사이트를 만드는 경우. html에있는 바구니에 추가해야하는 제품을 클릭하면 그럴 수 있습니다. 그래서 각 제품마다 동적으로 추가 된 새로운 <li></li>을 추가합니다. 내가 장고와 함께 할 수 있을까. 아니면 Javascript를 사용해야합니까?Django : DOM의 변경 사항을 지원합니까?

<div id="basket"> 
    <ul> 
    <li> 
    // some product 
    </li> 
    </ul> 
</div> 

답변

1

다릅니다.

1) 앱을 매우 동적으로 만들어서 페이지를 새로 고침하지 않고 바구니에 다른 요소가 표시되도록 할 수 있습니다. 이것은 ajax 요청 (서버가 가지고있는 것을 서버가 알아야 함)과 DOM 조작 (순수하게 자바 스크립트)을 결합하여 수행됩니다.

2)보다 고전적인 접근 방식을 사용할 수 있습니다. 바구니에 요소를 추가하는 것은 POST 요청 일뿐입니다. Django는 요청 (세션 또는 다른 현재 바구니에 저장)을 처리하고 새로운 HTML을 생성합니다.

Imho, 첫 번째 방법은 빠른 방법이며 최종 사용자에게는 더 좋게 보입니다. 단점은 사용자가 전체 페이지를 다시로드 할 때 (예 : 항목 가격과 같은) 자동으로 업데이트되는 유용한 정보를 추적 할 수 있다는 것입니다. 그러나 우리가 상점에 대해 말하면 문제가되지는 않습니다. 제품 데이터가 얼마나 자주 변경됩니까?

0

장고는 기본적으로 자바 스크립트를 생성하지 않습니다. 일반적인 방법은 자바 스크립트를 템플릿의 페이지로 가져 오는 것입니다.

관련 문제