Flaskの環境構築

FlaskでWEBアプリケーションを作りたいのでFlaskを入れていきます。

Anaconda で環境作成

Anacondaのconda環境を作っているのでflask_webという環境を作ってそこで作業します。

conda create -n flask_web
conda activate flask_web

AnacondaでFlaskをインストール

conda install flask

flaskって23.8MBでいいんですね。ヘルシー

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
click-8.0.4                |  py311haa95532_0         203 KB
colorama-0.4.6             |  py311haa95532_0          36 KB
flask-2.2.2                |  py311haa95532_0         194 KB
itsdangerous-2.0.1         |     pyhd3eb1b0_0          18 KB
jinja2-3.1.2               |  py311haa95532_0         290 KB
markupsafe-2.1.1           |  py311h2bbff1b_0          27 KB
pip-23.0.1                 |  py311haa95532_0         3.0 MB
python-3.11.3              |       h966fe2a_0        17.9 MB
setuptools-66.0.0          |  py311haa95532_0         1.6 MB
werkzeug-2.2.3             |  py311haa95532_0         453 KB
wheel-0.38.4               |  py311haa95532_0          96 KB
------------------------------------------------------------
                                       Total:        23.8 MB

初めてのWEBアプリ

クイックスタート — Flask Documentation (2.2.x)
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

実行のさせ方が公式ページの説明からだとわからなくてはまりました。

set FLSK_APP=hello
flask --app hello.py run

http://127.0.0.1:5000/ にアクセスするとHello, World!が表示されていました。
動くことが確認できました。

debugモード

flask --app hello --debug run

いじっていたら再起動しないとコードの中身が反映しなくて面倒なのでdebugモードをONにしてみました。これなら作業がはかどりそうです。

htmlとpython部分を分けたい

ここまで作業してみると、起動動作の.pyにhtmlのhello!world!が書かれているので、htmlの部分の量が多くなると収集つかなそうなので早めに切り分けしたい。

templatesというフォルダを作るルールになっているようなので、作成してそこにhtmlを入れて移動。

from flask import render_template

フォルダはtemplatesとsを付けないといけないルールなのにimportはsいらないので最初間違えた。

from flask import Flask
from flask import render_template
app = Flask(__name__)

@app.route("/")
def hello_world():
    return render_template('hello.html')

コメント

タイトルとURLをコピーしました