2013-08-01 3 views
0

질문이 있습니다. 템플릿 페이지의 항목을 클릭하고 해당 키를 views.py에 전달하고 싶습니다. 어떻게해야합니까? 고맙습니다. 템플릿에서 부분적인 코드는 다음과 같습니다 :Django : 템플릿에서보기로 매개 변수를 전달하는 방법

{% for key,value in wordList.items %} 

     <li><a href="{% url 'infoRetriever:sitelist' %}" data-weight={{ value }} >{{ key }}</a></li> 

    {% endfor %} 

추가 :

예를 들어, 지금은 URL의 www.example.com/results.html에서입니다. 페이지에는 key1, key2, key3 ... 키 목록이 있습니다. 'key1'링크를 클릭하면 www.example.com/sitelist/key1 페이지로 이동합니다. 어떻게 할 수 있습니까? 감사.

+0

랜더링 된 템플릿에서보기 – dm03514

+0

으로 ajax 요청을 할 수 있습니다. 클릭 된 항목을 페이지에 대한 링크로 사용하고 (URL의 정규 표현식을 통해 매개 변수를 전달해야 함) 클라이언트 측 작업을 수행하는 JavaScript와 같은 것입니다. –

답변

0

뷰에서 템플릿으로 전달할 수 있지만 불행히도 템플릿에서보기로 직접 전달할 수는 없습니다. AJAX를 사용하고 GET 또는 POST 요청을 처리하고 일부 데이터를 반환하는 다른보기를 작성하거나 다른 사람을 새 페이지로 완전히 보내는 링크를 사용하면됩니다.

편집 :

추가로

, 단지 템플릿에 링크를 수정합니다. 따라서 :

{% for key,value in wordList.items %} 
     <li><a href="/sitelist/{{ key }}" data-weight={{ value }}{{ key }}</a></li> 
    {% endfor %} 

{{key}}를 사용하면 변수 텍스트를 제자리에 덤프하기 때문에 링크가 동적으로 생성됩니다.

+0

감사합니다. 질문에 대한 업데이트가 있습니다. 혹시 살펴볼 수 있습니까? – Robert

+0

URL이 작동하기 위해 키 매개 변수를 알아야하므로 '{{key}}'를 풀고 대신 {{url 'infoRetriever : sitelist'key %}'를 사용하면됩니다. 방법. 당신은 당신의 템플리트에 당신의 URL을 절대로 하드 코딩해서는 안됩니다. – knbk

관련 문제