Flaskでコンテンツを配置する

昨日のエントリで、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でいいだろ、いい加減にしろ!って感じですよね。次はテンプレート機能かな?

適当に過ごす日常blog

50まじかになってフリーになったSEです。今までなんとか生きてこれたので、これからもなんとかなるかなーという適当な日々をつづります。

0コメント

  • 1000 / 1000