簡體   English   中英

上傳文件后如何從 Flask 發送成功警報?

[英]How to send a successfull alert from Flask after uploading a file?

我正在構建一個上傳文件然后將它們發送到兩個變量的 Web 應用程序,以便使用 Pandas 進行 vlookup - excel。 我現在的問題是警報和頁面重新加載,我需要 Flask 發送警報以顯示上傳已完成,但我不知道該怎么做並保留這兩個變量。 我發現的所有示例都與文件上傳或與 Pandas 有關的任何內容無關。 請問,我該怎么做? 在下面找到我的代碼。

燒瓶/蟒蛇

import requests
from flask import request, Flask, render_template, make_response, flash
import pandas

app = Flask(__name__)

@app.route('/')
def main():
    return render_template("index.html")

@app.route('/', methods=['POST'])
def upload():
    if request.method == 'POST':

        dataframe_1 = pandas.read_excel(request.files.get('file_1'))
        dataframe_2 = pandas.read_excel(request.files.get('file_2'))
        
        
    return render_template("index.html")


if __name__ == '__main__':
    app.run(debug=True)

HTML

<form method="POST" action="/" enctype="multipart/form-data" class="form-horizontal" id="form">
   <div class="row form-group">
      <div class="col-12 col-md-12">
         <div class="control-group" id="fields">
            <label class="control-label" for="formFile">
               Chis Ativo
            </label>
            <label class="control-label2" for="formFile2">
               Gis Mensal
            </label>
            <div class="controls">
               <div class="entry input-group
                  upload-input-group">
                  <input class="form-control"
                     name="file_1" type="file"
                     id="formFile" accept="xlsx" required>
                  
                  <input class="form-control"
                     name="file_2" type="file"
                     id="formFile2" accept="xlsx" required>
               </div>
            </div>
            <button class="btn btn-primary"
               type="submit" value="Submit">Upload</button>
         </div>
      </div>
   </div>
</form>

表單提交的默認行為是重新加載頁面。

如果您希望阻止頁面重新加載,那么您必須阻止默認表單提交(攔截它)並通過 Javascript 提交表單。

如果你讓它成為一個 Ajax(異步)調用,那么你的 javascript 代碼會提交表單(這意味着沒有頁面重新加載),你會收到服務器的輸出並用它做你想做的事

對於示例代碼,Google - 通過 javascript 提交表單而無需重新加載頁面

一個例子似乎是這篇文章

暫無
暫無

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

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