2013-05-31 7 views
0

이전 필드에 대한 답변에 따라 선택 필드가 여러 개있는 웹 양식을 작성해야합니다. 전형적인 예는 make가 선택 될 때까지 1 년이 선택되고 모델 선택 선택 사항이 채워지지 않을 때까지 make 선택 선택 사항이 채워지지 않는 차량 연도> 작성> 모델 양식입니다.장고로 양식을 동적으로 업데이트

select distinct year from cars 

select distinct make from cars where year = [answer above] 

select distinct model from cars where year = [answer above] and make = [answer above] 

그것은 이미 장고에 구현 된 프로젝트의 일부가 될 것입니다, 그래서 이것은뿐만 아니라 장고로 구현 될 싶습니다는 SQL은 각 필드는 다음과 같이 보일 것이다 웁니다. 이 형식의 양식에 대한 경험이 없지만이를 지원하기 위해 반드시 발생해야하는 비동기식 JavaScript 호출을 처음부터 이해하고 있습니다.

양식은 다음과 같습니다

class CarForm(forms.Form): 
    year = forms.ChoiceField(choices=get_years()) 
    make = forms.ChoiceField(choices=get_makes(year)) 
    model = forms.ChoiceField(choices=get_models(year, make)) 

보기 다음과 같습니다

def save_car(request): 
    if request.method == 'POST': 
     form = CarForm(request.POST) 
     if form.is_valid(): 
      handle_results(form.cleaned_data) 
      return HttpResponse('Success') 
    else: 
     form = CarForm() 
    return render_to_response('car.html', locals()) 

나의 가장 큰 문제는 선택 각 필드에 대한 선택을 업데이트하는 단지 방법이다. 어떤 도움이라도 좋을 것입니다!

+0

애플리케이션에서 jquery를 사용하고 계십니까? – karthikr

+0

예, jQuery는 이미 애플리케이션의 여러 다른 용도로 사용되고 있습니다. – jdickson

+0

그러면 인덱스가 변경되면 드롭 다운을 수정하는 ajax를 통해 뷰를 호출합니다. – karthikr

답변

0

이 아약스에 대한보기에 다시 전화를받을 때 나는이 게시물 on ajax with jquery in django

에서 보라는 권유는 요청에 전달되는 어떤 상황 확인하실 수 있습니다 호출합니다. 해당 데이터를 바탕으로 드롭 다운 결과를 필터링 할 수 있습니다.

당신이 찾고있는 구체적인 세부 사항을 얻을 수있는 몇 가지 방법이나 기능이 이미있는 것처럼 보입니다. 요청에서 직접 데이터를이 데이터로 전달할 수 있습니다.

0

django 양식 _ - 방법과 javascript를 템플릿에서 재정 의하여 구현할 수 있습니다. 체크 Here

관련 문제