flask restplus - 在'之后传递参数?'并在Web界面中保留arg输入表单

时间:2016-11-16 15:48:59

标签: python-3.x user-interface flask request flask-restplus

我已经能够编写此代码

from flask_restplus.resource import Resource
from flask_restplus import reqparse

@ns.route('')
class ExampleClass(Resource):  
    @ns.response(500, 'generic error')
    def get(self):        
        parser = reqparse.RequestParser()
        parser.add_argument('arg_name', location='args')
        args = parser.parse_args()
        print('args', args)

这样的论点就是“aaa'在请求中

http://localhost:8888/pathh?arg_name=aaa&

从代码的最后一行正确显示。

然而,输入表格(在网络界面中)可以插入arg_name值当然不再可用。

如果修改路线到

@ns.route('/<string:arg_name>')

然后输入表单再次出现,但请求变为

http://localhost:8888/pathh/aaa?

并且请求解析器不再正常工作。

如何在http://localhost:8888/pathh?arg_name=aaa&表单中保存请求时,在Web界面中显示工作输入表单?谢谢!

1 个答案:

答案 0 :(得分:1)

解析器可以用来解决这个问题。

parser = api.parser() parser.add_argument('param',type = int,help ='Some param',location ='path')#“ location ='path'”表示只能在查询字符串中查看

您可以将解析器传递给装饰器@ api.expect:

@ns.route('')
class ExampleClass(Resource):  
    @ns.response(500, 'generic error')
    @api.expect(parser)
        def get(self):        
        parser = reqparse.RequestParser()
        parser.add_argument('arg_name', location='args')
        args = parser.parse_args()
        print('args', args)