0
私はフラスコを使ってWebアプリケーションを作成しています.csvファイルをロードする必要があるPythonコードにはいくつかのビットがあります。フラスコでCSVファイルをあらかじめ読み込んでいます
with open('{}/src/public/file.csv'.format(current_app.config['PROJECT_ROOT']), 'r') as f:
rows = csv.readlines(f)
次に、rows
を使用して計算を行います。
私の問題は、ユーザーがリクエストをトリガするたびにこれをやりたくないということです。私はFlaskを起動したときにロードしておき、要求内のPythonコードにrows
がアクセスできるようにしたいと思います。
私の最初の試みは、python関数から取り出してviews.pyファイルの先頭に置くことでしたが、アプリコンテキストエラーが発生しました。
私は後に何を達成するのですか?
NB:スレッド、スタック、コンテキストという用語に慣れていませんが(覚えておきたい)
をこのケースでは、アプリケーションのコンテキスト内で 'current_app.config'を使用するのではなく直接app.config''使用するのに十分であろう。 – MrLeeh
これは新しいアプリケーションインスタンスを作成しませんか?なぜそれが悪いのかは分かりませんが、何かが私には間違っていると私に言います。私は最初のアプリケーションインスタンスが作成されたときにそれを行うことについてもっと考えていましたが、私はどのステージでそれを行うのか分かりません。 PSそれは働いた。私は設定ファイルを最初にインポートする余分なステップをやらなければなりませんでした。 –
'app = Flask(__ name __)'はあなたのFlaskアプリケーションの初期化を示すはずです。アプリで 'app.app_context() 'を使って試してみましょう。 – Nurjan