大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ラズパイデスクトップでFlask入門(1)FlaskでHello World!

著者:國松亜紗子
公開日:2019/09/19
最終更新日:2019/09/19
カテゴリー:技術情報

こんにちは。國松です。
今回はFlaskで簡単なWebアプリを作っていきたいと思います。
VMware上にインストールしたRapberryPiDesktopで作業を行って行きます。

Flaskとは
python用の軽量なwebアプリケーションフレームワークです。標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいます。
pythonで利用できるwebアプリケーションフレームワークとしてはDjangoも有名ですが機能が多すぎて使いこなすのも難しそうなので今回はFlaskでwebアプリについて学んで行きたいと思います。

Flaskのサイト
Welcome to Flask (英語版)
Flaskへようこそ (日本語版)

Flaskのインストール

sudo pip install flask

pipをインストールしていない場合

sudo apt-get install python-pip

Flaskで簡単なwebアプリをつくろう
Flaskでは簡単なwebアプリならファイル一つで作る事ができます。今回はwebアプリというほどのものではありませんが作っていきたいと思います。

#-*- coding: utf-8-*-
from flask import Flask

#アプリケーションのインスタンスを作成
app = Flask(__name__)

@app.route('/')
def index():
    return "Hello, World!"

if __name__ == '__main__':
    app.run(debug= True)
python3 hello.py

で実行するとWebサーバーが起動します。

pi@raspberry:~/Flask $ python3 hello.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
 * Debugger pin code: 700-575-854

ブラウザにhttp://127.0.0.1:5000と入力してHello Worldと表示されたらOKです。

Flaskを使う上でのキーワード
・ルーティング
webブラウザからのリクエスト(URL)に合わせて呼び出す処理を切り替える機能です。今回のプログラムでは7行目でルーティングを行っています。大量のHTMLファイルを用意しなくてもプログラムからwebページを自動生成できます。
・テンプレートエンジン
データとHTMLを組み合わせてWebページを生成します。テンプレートエンジンを使用するとHTMLにPythonのコードを埋め込むことができます。そうするとHTMLとしてメンテナンスでき、データと見た目を分離できます。FlaskではJinja2というテンプレートエンジンを利用することができます。
Jinja2とは
Python製のテンプレートエンジンです。HTMLタグの中にPythonコードを記述でき、Webページとして出力できます。
今回はここまでにしたいと思います。次回からはFlaskのサイトにあるチュートリアルをやっていきたいと思います。

 

    上に戻る