Flaskでコンテンツを配置する
2020.04.27 14:05
昨日のエントリで、FlaskをWebサーバにするところを書きましたが、あのままでは、プログラムの中にHTMLを書くことになってしまいますが、流石にそんなことはありません。コンテンツディレクトリを設定することができます。
特に何も指定せずにapp.run()を実行する場合、pythonの実行ファイルをおいたディレクトリのstaticディレクトリにコンテンツを配置できます。
別の端末でアクセスしてみます。
staticディレクトリが"/"になるわけではありません。また、実行ファイルをおいたディレクトリにhtmlファイルを配置しても見ることはできません。
ただ、コマンド実行ディレクトリ以下にコンテンツを配置するのは、どうも... これって、binの下にコンテンツがあるようなものですからね。なので、コンテンツ配置場所を変えましょう。
static_folderで静的コンテンツの配置ディレクトリを指定することができます。この場合、staticではなくなり、basename部分であるhtmlがアクセスディレクトリになります。
もちろん、/usr/local/flask/htmlにディレクトリを作成してコンテンツを配置もできます。その場合は、apacheなどと同様、ディレクトリはそのままパスに追加すればOK。
でも、やっぱりコンテンツは / からアクセスしたい!というのがあるかと思います。その場合は、static_url_pathで指定します。
これで、/usr/local/flask/htmlを/でアクセスできるようになります。
まあ、これでは、apacheやnginxでいいだろ、いい加減にしろ!って感じですよね。次はテンプレート機能かな?