2010-01-22 3 views
0

This application returns schoolmates of lawyers.Django 템플릿 : {% for %} 루프 안에 항목을 저장하려면 어떻게해야합니까?

사용자가 이름 만 검색하고 there are more than 1 result을 입력하면 쿼리를 양식에두고 성을 입력하도록 요청합니다. 그러나 사용자가 이름 중 하나를 클릭하기 만하면 검색 결과가 직접 반환되는 것이 좋을 것이라고 생각했습니다. (이 시점에서 링크를 다시 검색 양식으로 이동합니다.)

템플릿에서 검색어와 성은 {% for lawyer in lawyers %} 루프 안에 있습니다 (lawyer.firstlawyer.last). 쿼리 작성을 위해 이들을 저장하는 방법을 알 수 없습니다. 이 문제를 해결하는 방법을 알려주십시오.

참고 : 아래 템플릿은 있지만 pastebin.com에 view function을 넣었습니다. 길이가 60 줄이고 여기에 게시해야하는지 확실하지 않았습니다.

감사합니다.

<html> 
<head> 
    <title>Search results</title> 
</head> 
<body> 

<p>You searched for <strong>{{ first|capfirst }} </strong>.</p> 

<p>There are {{ lawyers|length }} {{ first|capfirst }} in the database. Please select one.</p> 

{% for lawyer in lawyers %} 
    <ul><li><a href="/search/">{{ lawyer.first }} {{ lawyer.last }} {{ lawyer.firm_name }} {{ lawyer.school}} class of {{ lawyer.year_graduated }}</a></li></ul> 
{% endfor %} 

<form action="" method="get"> 
{{ form.as_p }} 
<input type="submit" value="Submit"> 
    </form> 
</body> 
</html> 

편집

내가이 같은 새로운보기 기능을 작성해야합니까?

def new_query(request): 
    last_name = request.GET.get('lawyers.last') 
    first_name = request.GET.get('lawyer.first') 
    .... 

답변

1

양식에 GET을 사용하고 있으므로 정상 링크로 양식 제출을 완전히 에뮬레이션 할 수 있습니다.

<a href="?first_name={{lawyer.first}}&last_name={{lawyer.last}"> 

우리가 어떤 URL을 지정하지 않을 때문에이 (현재의 URL로 요청을 보낼 것입니다, 그냥 매개 변수를 GET. 이것은

<form action="" method="get"> 

의 상당하지만 폼에 추가 2 개 매개 변수입니다 first_name 및 last_name을 일반 형식에서 호출하는 것과 마찬가지로 호출합니다.

그러나 양식에 추가 매개 변수가 있으면 (예 : year_of_graduation) 추가해야합니다. 그들도.

1

당신은 GET 매개 변수

<a href="/search/?first={{lawyer.first}}&last={{lawyer.last}"> 

그런 request.GET을 통해 당신이 전달 된 항목에 액세스 할 수 있기를 추가 할 수 있습니다.

+0

감사합니다. 질문 편집에 추가 한 것처럼 새로운보기 기능을 생성합니까? 자세한 내용을 알려주시겠습니까? 아니면 어디서 볼 수 있는지 알려주십시오. – Zeynel

+1

@Zeynel : 아니요. 새보기를 만들 필요가 없습니다. 그냥 시도해보십시오. –