2017-03-28 6 views
1

以下のコードでは、URLエラーが発生したかどうかを確認するために変数にURLを格納します。フラスコ内の現在のベースURIを取得するにはどうすればよいですか?

@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 -"を変数に格納する必要があり、このメッセージをしたいか、どのようにiが実行されている現在のURLを取得することができます。 ありがとうございました

答えて

4

フラスコの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 
+0

127.0.0.1 - - [28 /月/ 2017年10時44分53秒] "GET /便HTTP/1.1" 200 ...全部を返そうとするなら、私は何をしなければならないのですか? –

+0

@RaviBhushan私はフラスコサーバーの標準出力をキャプチャする方法を知らない。 –

+0

ok .... forx回答 –

関連する問題