2011-12-26 21 views
5

Tôi có hình thức với bình-wtf để tải lên một số hình ảnh, cũng nộp lĩnh vực có thể nhiềukhông thể append_entry FieldList trong Flask-wtf nhiều hơn một

hình thức của tôi:

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

quan điểm của tôi :

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() 

mẫu của tôi:

<form method="POST" enctype="multipart/form-data" action="."> 
       {% for field in form %} 
       {{field}} 
       {% endfor %} 
</div> 

khi tôi sử dụng enctype="multipart/form-data" ở dạng append_entry không làm việc, chỉ nối thêm một lĩnh vực lại click vào add_upload nhưng sau khi refresh tôi có agen chỉ có một lĩnh vực (không hai)

làm thế nào tôi có thể sửa lỗi này? không có lỗi, tôi nghĩ vì wtyform mã hóa quên bao nhiêu trường tôi phải thêm nhiều hơn: D

+0

Thông báo lỗi bạn nhận được khi bạn cố gắng làm 'append_entry' – tkone

+0

@tkone không có lỗi, dưới dạng đơn giản, hãy nhớ số trường nhưng theo đa phần mỗi lần chỉ có biểu mẫu nối có một trường – Efazati

+0

Làm cách nào để '' append_entry' không hoạt động? Điều gì sẽ xảy ra khi bạn thực hiện chức năng đó? Kết quả của mã của bạn là gì? – tkone

Trả lời

4

Bạn gọi tới số append_entry bị thiếu dữ liệu.

Từ Documentation:

append_entry ([dữ liệu])

Tạo một entry mới với dữ liệu mặc định tùy chọn.

Các mục nhập được thêm theo cách này sẽ không nhận được biểu mẫu, tuy nhiên, và chỉ có thể nhận dữ liệu đối tượng.

Nếu bạn đang cố gắng lấy dữ liệu đã gửi trên biểu mẫu, bạn có thể thử sử dụng pop_entry. Hoặc ít nhất là làm một số gỡ lỗi và nhìn thấy những gì form.attachment.entries trông giống như. Nó có chứa các giá trị không? Điều gì sẽ xảy ra khi bạn lặp qua các giá trị đó?

Các vấn đề liên quan