400错误的请求:KeyError:'文件'

问题描述 投票:0回答:1

我似乎无法弄清楚是什么原因引起的,我知道当发生可变错误时通常会发生错误的请求,但是,这似乎不适用于我的情况。

我的程序具有两个功能:上传文件和显示标签表内容

文件上传没有问题,但是,在显示选项卡内容时,每次尝试选择选项卡时,都会出现错误消息,并且指向文件功能。

这是我的HTML代码文件上传

 <p>Data Source</p>
            <div class="div1" method="GET" action="/">
              {% for file in uploads %}
              {{uploads}}
              <br>
              {% endfor %}
            </div>
          </div>
            <br>
            <form action = "/successful" method = "post" enctype="multipart/form-data">  
              <input type="file" name="files" />  
              <input type = "submit" value="Upload">  
            </script>

标签内容

 <div class="tab">
              <button class="tablinks" onclick="openCity(event, 'wc')">Word Cloud</button>
              <button class="tablinks" onclick="openCity(event, 'sd')">Sample Data</button>


            <div id="wc" class="tabcontent">
              <h3>Word Cloud</h3>
              <p>London is the capital city of England.</p>
            </div>

            <div id="sd" class="tabcontent">
              <h3>Sample Data</h3>
              <p>Paris is the capital of France.</p> 
            </div>

            <script>
              function openCity(event, cityName) {
                var i, tabcontent, tablinks;
                tabcontent = document.getElementsByClassName("tabcontent");
                for (i = 0; i < tabcontent.length; i++) {
                  tabcontent[i].style.display = "none";
                }
                tablinks = document.getElementsByClassName("tablinks");
                for (i = 0; i < tablinks.length; i++) {
                  tablinks[i].className = tablinks[i].className.replace(" active", "");
                }
                document.getElementById(cityName).style.display = "block";
                evt.currentTarget.className += " active";
              }
              </script>

烧瓶.py代码

uploads = []
@app.route('/successful', methods = ['POST'])  
def success():  
    if request.method == 'POST':  
        f = request.files['files']  
        f.save(f.filename)  
        uploads.append(f.filename)
        return render_template("base.html", uploads=uploads)  

model = [
    {'id': '1', 'bank': 'U.S. BANCORP', 'complaints': '600'},
    {'id': '2', 'bank': 'EQUIFAX, INC.', 'complaints': '250'},
    {'id': '3', 'bank': 'Navient Solutions, LLC', 'complaints': '300'},
    {'id': '4', 'bank': 'CITIBANK, N.A.', 'complaints': '400'},
    {'id': '5', 'bank': 'JPMORGAN CHASE &amp; CO.', 'complaints': '500'}
]

@app.route('/', methods=['GET'])
def dropdown2():
    model = [
        {'bank': 'U.S. BANCORP'},
        {'bank': 'EQUIFAX, INC.'},
        {'bank': 'Navient Solutions, LLC'},
        {'bank': 'CITIBANK, N.A.'},
        {'bank': 'JPMORGAN CHASE &amp; CO.'},
        {'bank': 'TRANSUNION INTERMEDIATE HOLDINGS, INC.'},
        {'bank': 'Experian Information Solutiona Inc.'},
        {'bank': 'WELLS FRAGO; COMPANY'},
        {'bank': 'BANK OF AMERICA, NATIONAL ASSOCIATION'},
        {'bank': 'CAPITAL ONE FINANCIAL CORPORATION'}
             ]
    model2 = [
        {'quarter': 'Q1'},
        {'quarter': 'Q2'},
        {'quarter': 'Q3'},
        {'quarter': 'Q4'}
             ]

    model3 = [
        {'id': '1', 'percent': '25%'},
        {'id': '2', 'percent': '50%'},
        {'id': '3', 'percent': '75%'},
        {'id': '4', 'percent': '100%'}
            ]
    return render_template('base.html', model=model, model2=model2, model3=model3)


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



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

如果有人能在错误的地方给我建议,请多谢!

python html flask keyerror bad-request
1个回答
0
投票

request.files['files']更改为request.files['file']

def success():  
    if request.method == 'POST':  
        f = request.files['file'] 
© www.soinside.com 2019 - 2024. All rights reserved.