In below code, i want to store URL in a variable to check error on which URL error occured.
@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)
Output:
* 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 -
I want this message
"127.0.0.1 - - [28/Mar/2017 10:44:53] "GET /flights HTTP/1.1" 200 -"
should be stored in a variable or how can I get current URL that is executing?
You can use the base_url method on flask's request function. 127.0. 0.1 - - [28/Mar/2017 10:44:53] "GET /flights HTTP/1.1" 200 -... if want to return whole thing , then what have i to do ? @RaviBhushan I'm not aware of any method to capture the standard output of the flask server.
Check if Query Parameters are Not None This can thankfully easily be done by getting an expected key and checking if it's present in the dictionary! Here - we extract the name and location from the parameter list. If none are present - you may wish to return all of the users, or none at all.
By default, a route only answers to GET requests. You can use the methods argument of the route() decorator to handle different HTTP methods. If GET is present, Flask automatically adds support for the HEAD method and handles HEAD requests according to the HTTP RFC.
Use flask.request.url
to retrieve your requested url. Have a look at: http://flask.pocoo.org/docs/1.0/api/#flask.Request (or the v0.12 docs)
You can use the base_url
method on flask's request
function.
from flask import Flask, request
app = Flask(__name__)
@app.route('/foo')
def index():
return request.base_url
if __name__ == '__main__':
app.run()
This returns the following if the app route is /foo
:
http://localhost:5000/foo
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With