1. ホーム
  2. python

[解決済み] Flask の @app.route から python のコンソールに出力する方法

2022-10-10 19:48:25

質問

ユーザーによって/buttonが呼び出された後、Pythonコンソールに"hello world"をシンプルに表示したいのですが、可能でしょうか?

これは私の素朴なアプローチです。

@app.route('/button/')
def button_clicked():
    print 'Hello world!'
    return redirect('/')

背景 シェルではなくflaskから他のpythonコマンドを実行したいのですが、 "print"が一番簡単なケースだと思います。 私はここで基本的なツイストを理解していないと思っています。 ありがとうございました。

どのように解決するのですか?

簡単な方法として、標準エラー出力があります。次のようにすればよいでしょう。

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 に出力されたものをコンソールに表示します。標準エラー出力に関する他の方法については このstackoverflowの投稿