2011-07-02 1 views
1

내 장고 응용 프로그램의 일부보기에서 동일한 양식의 두 인스턴스가 렌더링되고 컨텍스트 프로세서를 통해 인스턴스가 두 개 포함되며 다른 인스턴스 보기에 포함됩니다. 두 양식 간의 유일한 차이점은 스타일과 위치뿐 아니라 동일한 필드가 있고 같은보기로 제출된다는 것입니다.필드의 이름 만 렌더링 할 때 장고 양식의 접두사를 제거하는 방법 다른 모든 것은 그대로 유지

그런 다음 요소의 ID가 같고 해당 필드를 강조하는 레이블 클릭과 같은 일부 기능은 다른 필드에 같은 필드를 집중시키는 것처럼 잘못 작동합니다. 그런 다음 첫 번째 양식에 양식 접두사를 추가하고 물론 레이블이 다시 작동했습니다.

그러나 접두사는 ID 이외의 필드 이름에도 적용되므로 양식 인스턴스가 접두사없이 초기화 되었기 때문에 제출 된 데이터를 가져 오는보기가 작동하지 않았습니다. 또한 쿼리 문자열이 더 이상하게 보입니다. (

접두어가 붙지 않고 원래 필드 이름을 유지하면서 접두사가 붙은 HTML ID를 계속 사용하므로보기가 변경되지 않고 계속 유지되는 솔루션을 찾고 있습니다. 두 개의 고립 된 ID를 가진 형태하지만 같은 필드 이름을 렌더링.

답변

1

using prefix 것은 하나의 < 형태로 여러 장고 양식을 가지고 유용 > 요소입니다.

개 이상의 < 형태를 > 요소를 갖고 싶어

, 당신 Formsets을 사용할 수 있습니다.

+0

같은 양식을 두 번 렌더링하려고합니다. 예는 Google입니다.이 양식은 결과 페이지의 상단 광고 하단에서 동일한 양식을 복제합니다. –

+1

동일한 양식을 두 번 사용하지만 올바른 양식 요소와 일치하는 레이블을 사용하려면 각 요소마다 다른 ID가 필요합니다. 따라서 Formset을 extra = 2로 사용하여 각 요소에 대해 서로 다른 ID를 사용하여 양식을 두 번 가져올 수 있습니다. – antoyo

관련 문제