簡體   English   中英

使用Flask App Builder上傳多個文件

[英]Uploading multiple files with Flask App Builder

用Flask創建一個簡單的前端,在這里我可以選擇多個文件並對其進行一些計算。

目前,我正在使用下面的代碼,但是它只適合1個文件,# #do something發生轉換的地方;

class Sources(SimpleFormView):
    form = MyForm
    form_title = 'This is my first form view'
    message = 'My form submitted'

    def form_get(self, form):
        form.field1.data = 'This was prefilled'

    def form_post(self, form):
        x = #do something
        return self.render_template('test.html', table = x ,name='TEST')

該表格基本上可以讓我輸入如下所示的路徑:

from wtforms import Form, StringField
from wtforms.validators import DataRequired
from flask.ext.appbuilder.fieldwidgets import BS3TextFieldWidget
from flask.ext.appbuilder.forms import DynamicForm


class MyForm(DynamicForm):
    Path = StringField(('Field1'),
        description=('Your field number one!'),
        validators = [DataRequired()], widget=BS3TextFieldWidget())

我正在嘗試從本地計算機中選擇多個文件,然后一起處理它們。 就像我們如何使用Gmail附加文件一樣;

  1. 選擇文件路徑的選項
  2. 打開文件瀏覽器
  3. 存儲文件路徑
  4. 重復過程1和3,直到達到閾值或提交。

我目前正在使用Flask App Builder正確使用前端。

您可以使用此HTML表單,該表單將允許用戶選擇多個文件:

<form method="POST" enctype="multipart/form-data" action="/upload">
  <input type="file" name="file[]" multiple="">
  <input type="submit" value="Upload Files">
</form>

然后在上傳功能中,使用Flask的getlist功能。

@app.route("/upload", methods=["POST"])
def upload():
    uploaded_files = flask.request.files.getlist("file[]")
    print uploaded_files
    return ""

我建議附加您的“做某事”功能,以接受所有文件的列表作為輸入。 然后做類似的事情

For file in uploaded_files:
    Process the files

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM