私はFlaskバージョン0.7を使用しています。私は、設定ファイルに静的コンテンツのパスを保存し、Flask - テンプレートのconfig変数へのアクセス
app.config.from_envvar(<file_name>)
私はビューを介して変数を渡すことなく、テンプレートでこの設定変数にアクセスできるようにすることはできますを使用して、それをロードしていますか?
私はFlaskバージョン0.7を使用しています。私は、設定ファイルに静的コンテンツのパスを保存し、Flask - テンプレートのconfig変数へのアクセス
app.config.from_envvar(<file_name>)
私はビューを介して変数を渡すことなく、テンプレートでこの設定変数にアクセスできるようにすることはできますを使用して、それをロードしていますか?
デフォルトでフラスコ(hereは完全なリスト)によってテンプレートのコンテキストに渡されるいくつかのグローバル変数があり、そのうちの1つはconfig
で、テンプレートからアプリケーション構成にアクセスできます。辞書であるため、config['MY_CONFIGURATION']
またはconfig.MY_CONFIGURATION
という構文を使用してアクセスすることができます(dict項目にアクセスするためのこの構文はJinjaに固有です)。
一方、各ビューで明示的に渡すことなくテンプレートに任意のデータを渡す場合は、context processorsを使用する必要があります。
私はちょうど "大文字の値は実際に設定オブジェクトに格納されている"ことに注意したいと思います。これは、ポスターと同じ質問に直面したときに私に数分の混乱を与えました。 – mikewaters
設定値をデバッグモードでPythonファイルに保存する場合、このファイルの変更は監視されません。 – Epoc
テンプレートの使用例: '{{config.MY_CONFIGURATION}}' –
私は、フック設定変数に設定を読み込むためにapp.config.from_pyfile()を使用しました。フラスコ0.6以来; configは、グローバル変数の1つで、デフォルトでJinja2テンプレートで利用可能です。その後、テンプレート内の辞書オブジェクトとして設定変数に簡単にアクセスできます。 –
ranendra