如何在烧瓶中获取当前的基本 URI? [复制]
Posted
技术标签:
【中文标题】如何在烧瓶中获取当前的基本 URI? [复制]【英文标题】:How can I get current base URI in flask? [duplicate] 【发布时间】:2017-08-21 02:00:48 【问题描述】:在下面的代码中,我想将 URL 存储在变量中以检查发生 URL 错误的错误。
@app.route('/flights', methods=['GET'])
def get_flight():
flight_data= mongo.db.flight_details
info = []
for index in flight_data.find():
info.append('flight_name': index['flight_name'], 'flight_no': index['flight_no'], 'total_seat': index['total_seat'] )
if request.headers['Accept'] == 'application/xml':
template = render_template('data.xml', info=info)
xml_response = make_response(template)
xml_response.headers['Accept'] = 'application/xml'
logger.info('sucessful got data')
return xml_response
elif request.headers['Accept'] == 'application/json':
logger.info('sucessful got data')
return jsonify(info)
输出:
* Restarting with stat
* Debugger is active!
* Debugger PIN: 165-678-508
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [28/Mar/2017 10:44:53] "GET /flights HTTP/1.1" 200 -
我想要这条消息
"127.0.0.1 - - [28/Mar/2017 10:44:53] "GET /flights HTTP/1.1" 200 -"
应该存储在一个变量中,或者如何获取当前正在执行的 URL?
【问题讨论】:
【参考方案1】:你可以在flask的request
函数上使用base_url
方法。
from flask import Flask, request
app = Flask(__name__)
@app.route('/foo')
def index():
return request.base_url
if __name__ == '__main__':
app.run()
如果应用程序路由是/foo
,则返回以下内容:
http://localhost:5000/foo
【讨论】:
127.0.0.1 - - [28/Mar/2017 10:44:53] "GET /flights HTTP/1.1" 200 -...如果想返回整个东西,那我有什么做吗? @RaviBhushan 我不知道有什么方法可以捕获烧瓶服务器的标准输出。 好的....谢谢回答【参考方案2】:使用flask.request.url
检索您请求的网址。看看:http://flask.pocoo.org/docs/1.0/api/#flask.Request(或v0.12 docs)
【讨论】:
以上是关于如何在烧瓶中获取当前的基本 URI? [复制]的主要内容,如果未能解决你的问题,请参考以下文章