2011-12-26 3 views
5

개 이상도 여러은에서를 Fieldlist을 append_entry 수 없습니다 플라스크 - 태권도 연맹 내가 업로드 플라스크 - 무슨 일 일부 이미지와 형태가

내 양식이 될 수있는 필드를 파일 :

class ComposeForm(Form): 
    attachment = FieldList(FileField(_('file')), _('attachment')) 
    add_upload = SubmitField(_('Add upload')) 

내보기 :

if form.validate_on_submit(): 
     if form.add_upload.data: 
      form.attachment.append_entry() 
      return render_template('mailbox/compose.html', form=form) 
     else: 
      form.attachment.append_entry() 

내 템플릿 :

<form method="POST" enctype="multipart/form-data" action="."> 
       {% for field in form %} 
       {{field}} 
       {% endfor %} 
</div> 
나는이 작동하지 않는 형태 append_entryenctype="multipart/form-data"를 사용할 때

만 다시 add_upload 클릭 만 새로 고침 후 내가 카발라는 단 하나의 필드

나는이 문제를 어떻게 해결할 수 있습니다 (이 아닌)가 하나 개 더 필드 을 추가? 오류가 없다, 내가 생각하기 때문에 enctype wtform 얼마나 많은 필드를 더 추가해야 잊지 : D

+0

당신이'append_entry'를하려고 할 때 나타나는 오류 메시지는 무엇입니까? – tkone

+0

@tkone 오류가없는 간단한 형태로 필드가 하나만있는 양식이있을 때마다 매번 multipart를 기억합니다. – Efazati

+0

' append_entry' 작동하지 않습니까? 이 기능을 실행하면 어떻게됩니까? 코드의 결과는 무엇입니까? – tkone

답변

4

당신은 append_entry로 전화를 데이터가 누락되었습니다. Documentation에서

:

append_entry ([데이터])

옵션 기본 데이터와 새 항목을 작성합니다.

이렇게 추가 된 항목은 양식 데이터를 수신하지 않으며 개체 데이터 만받을 수 있습니다.

양식에 제출 된 데이터를 얻으려면 pop_entry을 사용해보십시오. 아니면 최소한 디버깅을하고 무엇을 보느냐는 form.attachment.entries처럼 보입니다. 값이 포함되어 있습니까? 이러한 값들을 반복 할 때 어떤 일이 발생합니까?