我正在制作API,正在寻找一种方法来隐藏url中多余的信息。我有一个函数索引:
@app.route('/', methods=['GET', 'POST'])
def index():
count = foo()
return redirect(url_for("result", count=count))
和函数结果
@app.route("/done/<count>")
def result(count):
count = count
return jsonify(count=count)
内部函数count
全部返回不同的值。最后我得到一个类似
http://127.0.0.1:5000/done/43
但是对于通用API,我需要更通用的url视图
http://127.0.0.1:5000/done
问题是,如果我从端点上删除<count>
,则会收到错误
TypeError: result() missing 1 required positional argument: 'count'
有没有办法覆盖它?
答案 0 :(得分:0)
此任务通过会话变量解决
from flask import session
@app.route('/', methods=['GET', 'POST'])
def index():
count = foo()
session['count'] = count
return redirect(url_for("result"))
@app.route("/done/")
def result(count):
count = session['count']
return jsonify(count=count)