2012-10-20 4 views
0

저는 모델을 대표하고 있으며, 페이지를 다시로드하지 않고 행을 제거하고 DB에서 객체를 삭제할 수 있기를 원합니다. 왼쪽에서 클릭했을 때 X 아이콘이 있습니다. 숨 깁니다 ('느린') 행을 숨 깁니다. 그러나 어떻게 그것을 db에서 제거 할 수 있습니까? 페이지를 다시로드하는 데 시간이 오래 걸립니다 .. 양식을 사용하거나 삭제 페이지를 사용하여 오브젝트를 삭제할 수 있습니까?django에서 AJAX를 사용하여 모델이 나타내는 테이블의 행을 삭제합니다.

+1

장고 앱에서 경로를 조회하는 자바 스크립트 아약스 요청 (/ delete 페이지)을 작성해야합니다. – Thomas

+1

몇 가지 샘플 코드를 제공해 주시겠습니까? – heri0n

답변

1

쉽게 'X'를 클릭 사용자에 의해 트리거되는 이벤트 핸들러의 일환으로 아약스 요청을

를 만들기 위해 jQuery를 사용하여, 당신은 당신의 장고 응용 프로그램에 요청을 할 수 있습니다.

$.post('/django/url/to/your/view', {idToDelete: 'value'}, function(response) { 
    // callback 
}); 

이것은 클라이언트 측에 있습니다. django에서는 새로운 urls.py 항목을 생성하고 실제로 ID를 삭제 처리하는 뷰 논리를 작성해야합니다.

게시 요청에 csrf 토큰을 포함시키는 것이 매우 중요합니다. Django는 ajax 요청으로이를 수행하는 방법을 단계별로 설명합니다. https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax

+0

정말 고마워! 나는 그것을 밖으로 시도 할 것이다! – heri0n

+2

POST를 사용하는 경우 CSRF https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax를 기억하십시오. – danihp

관련 문제