小编ian*_*ter的帖子

列出Flask中所有可用的路线,以及相应的功能'docstrings

我正在编写一个小API,并希望打印所有可用方法的列表以及相应的"帮助文本"(来自函数的docstring).从这个答案开始,我写了以下内容:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api', methods = ['GET'])
def this_func():
    """This is a function. It does nothing."""
    return jsonify({ 'result': '' })

@app.route('/api/help', methods = ['GET'])
    """Print available functions."""
    func_list = {}
    for rule in app.url_map.iter_rule():
        if rule.endpoint != 'static':
            func_list[rule.rule] = eval(rule.endpoint).__doc__
    return jsonify(func_list)

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

这样做有更好 - 更安全的方式吗?谢谢.

python flask

15
推荐指数
2
解决办法
8482
查看次数

在单个视图方法中接受多个请求类型的更好方法是什么?

我正在尝试向各种请求方法公开API(GET,url x-www-form-urlencoded POST和json POST):

@app.route('/create', methods=['GET', 'POST'])
def create_file():
    if request.method == 'GET':
        n = request.args.get('n')
        t = request.args.get('t')
    if request.method == 'POST':
        if request.json:
            n = request.json['n']
            t = request.json['t']
        else:
            n = request.form['n']
            t = request.form['t']
    try:
        n = int(n)
    except:
        n = 1
    ...
Run Code Online (Sandbox Code Playgroud)

以上看起来过于冗长.是否有更简单或更好的写作方式?谢谢.

python flask

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

flask ×2

python ×2