from flask import Flask, request
app = Flask(__name__)
@app.route('/post/', methods=['GET', 'POST'])
def update_post():
# show the post with the given id, the id is an integer
postId = request.args.get('postId')
uid = request.args.get('uid')
return postId, uid
def getpostidanduid():
with app.app_context():
credsfromUI = update_post()
app.logger.message("The postId is %s and uid is %s" %(request.args.get('postId'), request.args.get('uid')))
## Prints 'The post id is red and uid is blue'\
return credsfromUI
print(getpostidanduid())
if __name__ == '__main__':
# This is used when running locally. Gunicorn is used to run the
# application on Google App Engine. See entrypoint in app.yaml.
app.run(host='127.0.0.1', port=8080, debug=True)
# [END app]
这是一个在浏览器URL(postId和uid)中接受两位信息的程序,应该允许我在程序中引用它们。对于我的简单python程序,我无法弄清楚为什么我仍然会遇到RuntimeError:在请求上下文之外工作。
这通常意味着您尝试使用所需的功能 一个活动的HTTP请求。请参阅有关测试的文档 有关如何避免此问题的信息。
我正在使用with app.app_context(),但它不允许我在请求中阻止变量的内容。我已经阅读了文档并查看了其他解决方案,但仍然卡住了。请帮帮忙?
答案 0 :(得分:2)
因此,如果我定义一个函数,它在python中具有全局作用域,因此我可以在app.route()/ request上下文限制函数中调用它来获取request.args.get(var)。
get :action, id: [id_of_resource]