5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Flask についてまとめ3 仮想環境の作成

Last updated at Posted at 2022-05-01

前々回の記事

前回の記事となります

全てこちらをベースに進めております

前回までは
ルーティングでURLとFlaskの処理を対応づけることで、URLと関数を紐付けることを細かく確認しました
今回は

render_template() 関数による読み込み

から実行していこうと考えております
render_template() 関数とは

render_template() 関数を利用することで、Template(=雛形) である user.html に サーバのデータを組み込めます

render_template() 関数をを使う場合には、importによる記述と
templatesフォルダを新たに作成しそこにhtmlファイルを置きます

render_template() 関数をを用いる際には、templatesフォルダを作成する必要があり
作成していないとhtmlファイルを読み込むことが出来ませんのでご注意ください

そこでまず templatesフォルダを作成します

- app.py(flaskでサーバー処理を行うpythonファイル)
- templates(HTMLファイルが沢山入るフォルダ)
    └ index.html

ここでエラーが出るため python のインタプリタを調整中です
また、ここまで基本 windows のデスクトップ環境で実施していたため
ubuntu の実施も検討します 

Linux(ubuntu)で再検討

仮想環境の作成 ubuntu

python3 -m venv venv

仮想環境の有効化 ubuntu

source venv/bin/activate

仮想環境を有効にして 最小限のアプリを作成する

flaskbookフォルダを作成します

flaskbook
- apps
  - minimalapp
- venv

minimalapp配下にapp.pyを作成する
apps/minimalapp/app.py

#flask クラスをimport
from flask import Flask

#Flask クラスをインスタンス化する
app = Flask(__name__)
#URLと実行する関数をマッピングする
@app.route("/")
def index():
    return "Hello, Flask book like CEML"

app.py の環境変数を設定します

Linuxの環境変数とは、Linuxで動作するプログラムの設定値や読み込むファイルのディレクトリなどを設定した外部から参照できる変数のようなものです

最小限のアプリを起動する前に 環境変数FLASK_APP と FLASK_ENV を設定する必要が有ります

FLASK_APP=アプリの場所
FLASK_ENV=development または production を指定する 
      development を設定すると デバックモードがonになる

app.py のあるディレクトリに移動して 環境変数を設定 Linux

export  FLASK_APP=app.py
export  FLASK_EV=development

その後

flask run

で実装

右のローカルホスト上で http://127.0.0.1:5000/

Hello, Flask book like CEML
と表示されます

exportコマンドで環境変数を設定しましたが 
それだとコンソールからのログアウト時に消えてしまいます

アプリ単位で環境変数を設定する

.envを利用すると アプリ単位で環境変数を設定できます
python-dotenvをインストールします

pip install python-dotenv

その後 - minimalapp 配下に

.envを作成し

FLASK_APP = app.py
FLASK_EV = development

アプリケーションルート

アプリケーションルートとは、アプリを実行するディレクトリのことで
モジュールやパッケージを読み込むパスは

アプリケーションルートにより決まります

.env が有る場合 .envがあるディレクトリがアプリケーションルートとなります

flaskbook
- apps
  - minimalapp
  - .env
- venv

minimalappの配下がアプリケーションルートとなります

今後 複数のアプリ開発をする際
その都度VSCodeのウインドウを切り替えなくてすむように

アプリケーションルートをflaskbookディレクトリに変更しましょう

flaskbook
- .env
- apps
  - minimalapp
- venv

これでアプリケーションルートがflaskbookに変わりました

flaskbookディレクトリにに移動し
flask run コマンドを実行

右のローカルホスト上で http://127.0.0.1:5000/

Hello, Flask book like CEML
と表示されます

次はルーティングを利用してみます

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?