2012-08-07 2 views
0

어떻게 든 덤프 질문이 있지만 해결책을 찾을 수 없습니다. 사용자가 제출 한 양식을 편집 할 수 있기를 바랍니다. 내가 소유자의 ID링크 목록을 통해 제출 된 양식을 편집하도록 선택하십시오.

all_reqs = Webrequests.objects.filter(own_id=u_id) 

에 따라 그들을 쿼리와 템플릿을로드하는 이유입니다 : 내가 관리 할 수있는 지금

{% for a in all_reqs %} 
    <li><a href="#">{{ a }}</a></li> 
    {% endfor %} 

사용자가 제출 한 그의 이전의 하나 하나 개의 링크를 칠 때입니다 양식,로드 된 해당 제출 양식. 사용자가 선택한 양식의 ID를 어떻게 알 수 있습니까? 어쩌면 js와 링크 ID를 잡아 후 양식 ID를 찾을 수 있을까요? 하지만이 장고 템플릿 for-loop를 사용하여 어떻게 id를 링크에 할당 할 수 있습니까? 내가 원하는 것을 할 수있는 다른 방법은 인정 될 것이다!

+0

웹 요청을 편집하기위한 URL을 정의 했습니까? –

답변

0

jquery를 사용하여 AJAX 호출을 통해 from을로드하려고한다고 가정합니다.

당신의 생각의 길은 옳았습니다. 링크에 개체의 ID를 추가하기 만하면됩니다.

<a href="#{{ a.pk }}" id="{{ a.pk }}">{{ a }}</a> 

href 속성에 추가하고 싶습니다.하지만 id 속성에 추가하는 사람을 보았습니다.

그런 다음 태그에 onClick 이벤트를 바인딩하고 ID를 읽고 가져온 ID를 기반으로 URL을 작성하십시오. 유효한 URL을 가지고 있으면 장고에 GET 요청을 보내고 양식을 다시 요청할 수 있습니다.

$("a").on("click", function(event) { 
    event.preventDefault(); 
    var id = $(this).attr("id"); 
    var options = { 
     url: "http://host.com/webrequests/" + id 
    }; 
    $.when($.ajax(options)).then(function(data) { 
     // show the form which should be in data on your page 
    }); 
} 
+0

쿨! 주요 기능은 작동하지만 "페이지의 데이터에 있어야하는 양식 표시"는 무엇을 의미합니까? json 때문에? 개체 (제출 된 양식)의 인스턴스와 함께 제출 된 양식 (다른보기 템플릿을 의미 함)을 다시 렌더링하려고했습니다. – marlen

+0

아니요, 렌더링 된 양식 요소가 모두 포함 된 html 템플릿 만 반환합니다. $ .ajax를 $ .load로 바꿀 수 있습니다. 양식이 유효하다면보기 코드가 json을 반환하도록하고 거기에서 반환 된 json 데이터를 제출 된 양식으로 대체하여 페이지에 렌더링 할 수 있습니다. –

관련 문제