How to print from Flask @app.route to python console
我只想在用户调用/button之后,在python控制台上打印一个"hello world"。
这是我天真的做法:
1 2 3 4 | @app.route('/button/') def button_clicked(): print 'Hello world!' return redirect('/') |
背景:我想从flask(而不是shell)执行其他python命令。""打印"应该是最简单的情况。我相信我还没有理解这里的一个基本的转折点。事先谢谢!
看起来你已经解决了,但是对于其他寻找这个答案的人来说,一个简单的方法就是打印到stderr。你可以这样做:
1 2 3 4 5 6 7 | from __future__ import print_function # In python 2.7 import sys @app.route('/button/') def button_clicked(): print('Hello world!', file=sys.stderr) return redirect('/') |
flask将在控制台中显示打印到stderr的内容。有关打印到stderr的其他方法,请参阅此stackoverflow post
我们还可以使用日志记录在控制台上打印数据。
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import logging from flask import Flask app = Flask(__name__) @app.route('/print') def printMsg(): app.logger.warning('testing warning log') app.logger.error('testing error log') app.logger.info('testing info log') return"Check your console" if __name__ == '__main__': app.run(debug=True) |