ラズパイデスクトップでFlask入門(1)FlaskでHello World!
こんにちは。國松です。
今回はFlaskで簡単なWebアプリを作っていきたいと思います。
VMware上にインストールしたRapberryPiDesktopで作業を行って行きます。
Flaskとは
python用の軽量なwebアプリケーションフレームワークです。標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいます。
pythonで利用できるwebアプリケーションフレームワークとしてはDjangoも有名ですが機能が多すぎて使いこなすのも難しそうなので今回はFlaskでwebアプリについて学んで行きたいと思います。
Flaskのサイト
Welcome to Flask (英語版)
Flaskへようこそ (日本語版)
Flaskのインストール
1 | sudo pip install flask |
pipをインストールしていない場合
1 | sudo apt-get install python-pip |
Flaskで簡単なwebアプリをつくろう
Flaskでは簡単なwebアプリならファイル一つで作る事ができます。今回はwebアプリというほどのものではありませんが作っていきたいと思います。
1 2 3 4 5 6 7 8 9 10 11 12 | #-*- coding: utf-8-*- from flask import Flask #アプリケーションのインスタンスを作成 app = Flask(__name__) @app.route('/') def index(): return "Hello, World!" if __name__ == '__main__': app.run(debug= True) |
1 | python3 hello.py |
で実行するとWebサーバーが起動します。
1 2 3 4 5 | 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のサイトにあるチュートリアルをやっていきたいと思います。