TypeError:“协程”对象在python Quart Framework中不可下标

时间:2020-09-05 06:38:48

标签: python-requests

from quart import Quart, request, render_template, jsonify
import json
import os, sys
import pandas as pd
import requests
import asyncio

from pylon.model.db_models import RawFiles
from pylon.orm import db

app = Quart(__name__)

@app.route('/upload', methods=['POST'])
async def handle_form():
    f = await request.files['filename']
    f.save(f.filename)
    data = pd.read_csv(f.filename)
    data.to_json("json_data.json")
    data = pd.read_json("json_data.json")
    os.remove("json_data.json")
    os.remove(f.filename)
    print(type(data))
    print(data)
    return ""

@app.route("/")
async def index():
    return await render_template('upload.html')

if __name__ == "__main__":
    app.run(host="bheem11.arch.des.co", port=5043, debug = True)

我收到标题中描述的一个错误。我在python的石英框架中工作。希望找到适当的解决方案。其实我在执行@ app.route(“ / upload”,method =“ post”)时收到协程错误。

1 个答案:

答案 0 :(得分:0)

此行await request.files['filename']应该为(await request.files)['filename']。如果没有括号,则会首先评估await右边的所有内容,这将导致尝试预订['filename']属性((files操作)。这不起作用,因为files属性返回协程-不能下标。 Quart documentation中有更多相关内容。