Python3 Flask:“ Function()缺少1个必需的位置参数:'test_ouput'”

时间:2019-04-29 20:42:32

标签: python-3.x flask pymongo

我只是从FLASK开始,偶然发现了这个错误:

 test() missing 1 required positional argument: 'test_ouput'

为什么会这样?在调用函数之前先声明函数,通常,此错误表示调用函数时缺少参数。

def foo(x):
    print (x)

foo(x)

所以这行得通,为什么在我的flask脚本中不行?

这是我的“完整”代码:

from flask import Flask, jsonify, request
from flask_pymongo import PyMongo

app = Flask(__name__)

#app.config ['MONGO_DBNAME'] = 'DBfoo'
app.config['MONGO_URI']     = 'mongodb://127.0.0.1:27017/Test'


mongo = PyMongo(app)

@app.route('/TestRouteGet', methods=['GET', 'POST'])

def test(test_ouput):
    print (test_output)

def get_Test():

    collection = mongo.db.TestCol

    if request.method == 'POST':

        test_input = "Test BlaBla"
        test(test_input)


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

发送POST请求时,应该在控制台中打印test_output(“ Test Blabla”)。 感谢您的宝贵时间。

1 个答案:

答案 0 :(得分:1)

您的函数需要使用test_output参数,您应该从网址字符串http://flask.pocoo.org/docs/1.0/quickstart/#url-building中获取此参数

@app.route('/TestRouteGet/<test_output>', methods=['GET', 'POST'])

然后,您可以向/ TestRouteGet / insert_your_string发出请求,您的函数将打印收到的字符串。