2011-01-17 2 views
0

사용자가 자신의 사진 갤러리를 편집 할 수 있도록 양식을 만들고 있습니다. 그래서 양식을 보여줄 때 사진 당 2 개의 필드/위젯이 필요합니다.Django : 여러 개의 위젯/필드를 하나의 필드에 넣으십시오.

for image in images: 
    #make a checkbox widget 
    #make a radio select 
    #store the url of the image 
    self.fields[..] = gallery_field_widget 

내가 넣어 선호 :

각 사진에 대한 하나의
CheckBox(label='Delete photo', value=<Id of photo>) 나는 내가 __init__이 같은 것을 넣어해야 추측 폼 클래스에서 하나 RadioSelect(label='Set as cover image', value=<Id of photo>)

가있을 것입니다 템플릿 대신 폼 클래스에 많은 코드를 추가합니다. MultpleSelect 위젯으로 놀았지만 위젯의 나머지 부분과 함께 반복하는 방법을 알아낼 수 없습니다.

답변

4

이것은 필드 당 2 개의 위젯이 아니며, 이것은 폼 당 2 개의 필드와 인스턴스 당 하나의 양식입니다. 그 때문에 우리는 formsets입니다.

+0

Okey. 또한, 어떻게 이러한 모든 formset을 ModelForm에 첨부 할 수 있습니까? 나는 '프로젝트'모델의 modelform을 가지고있다. 갤러리는 해당 프로젝트의 외래 키입니다. – mrmclovin

+0

[inline formsets] (http://docs.djangoproject.com/ko/1.2/topics/forms/modelforms/#inline-formsets)를 참조하십시오. –

관련 문제