【第1回】FlaskでWebアプリを作ろう(^^)/Flaskのインストール、HTML表示。
こんにちは(@t_kun_kamakiri)
今日からPythonでWebアプリを作るためのフレームワークである「Flask」を勉強していきます。
そのための、勉強メモをnoteに書いていこうと思います。
今日は第一回なので、「Flask」が使えるところまでを示したいと思います。
僕自身が今勉強中ですので、詳しいことはわかりませんがnoteに書き記し、アウトプットを続けることでスキルアップしていこうと思います。
【環境】
Windows10
Python3.7.7
Flask1.1.1
Flaskとは?
まずは簡単にFlaskについて解説しておきます。
Flaskは、Pythonを使ってWebアプリを作成するための軽量フレームワークです。
日本語で書かれたチュートリアルサイトがあります。
下記の英語での本家のサイトの方がですごく丁寧なチュートリアルがついていますので、基本的にはこれを見ながら勉強することができます。
ちょっと英語は抵抗があるのですが頑張って読んでいきます。
そうは言っても、挫折したらいけないので下記の書籍を手元に置いて理解を進めています。
Pythonを使ったフレームワークはFlaskだけではありません、
Pythonを使ったフレームワークで有名なのは「Django」ですが、機能が多すぎて少々難しいです。(使ったことないのでよく知りません(/・ω・)/)
一方で、Flaskは軽量で簡単なWebアプリを作る文には申し分ないということなので「Pythonを使ったWebアプリ開発のフレームワーク」にFlaskを選びました。
では、さっそくFlaskを使っていきましょう。
まずは必要なものをインストールしなければなりません。
【必要なもの】
Python
Flask
Pythonをインストール
まずは、Pythonを使える環境にしておかなければいけません。
Pythonをインストールしましょう(^^)/
Pythonのインストール方法はネットでいっぱいあるので、探してインストールをしてください。
インストールができたらコマンドプロンプト(僕はWindows10なので)を起動して、
python
と打ってPythonが起動したらインストールができています。
Flaskをインストール
Pythonがインストールできていれば、コマンドプロンプトから「Flask」をインストールします。
コマンドプロンプト上で、
pip install flask
とすれば「Flask」がインストールされます。
ちゃんとFlaskがインストールされたかを確認しておきましょう。
python
と打ってPythonが実行できるモードに切り替えます。
次に、
import flask
として、Flaskのライブラリを使えるようにインポートします。
↓こんな感じ。
Flaskがうまくインストールされていればここでエラーが起こることがありませんが、インストールに失敗していればエラーが起きます。
Flaskを使って超簡単なWebアプリを作ってみよう(^^)/
では、さっそくFlaskを使って超簡単なWebアプリを作ってみます。
ここで行うのは、↓これをブラウザ上に表示させるだけです・・・
(全然アプリじゃないけどまずは簡単なものから)
ここから作業です( `ー´)ノ
適当なフォルダを作って、その中に「run.py」という名前のファイルを用意します。
僕は「C:\Work\Python\Flask\test_000」の中に「run.py」を作りました。
run.pyの中身は以下です。
run.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return '<html><body><h1>ようこそFlask入門へ(^^)/</h1></body></html>'
if __name__ == '__main__':
app.run()
中身が少々慣れるまでわかりずらいです・・・
run.pyの解説
理解のために簡単な解説をしておきます。
from flask import Flask
「Flask」のライブラリの中の「flask」というモジュールを使いますという宣言を行っています。
この「Flask」のライブラリがどこにあるのか確認するには、以下のようにすれば調べることができます。
興味がある方はファイル(__init__.py)の中身とかも見てください。
app = Flask(__name__)
はFlaskに引数(__name__)を入れて、Flaskのインスタンス化しています。
@app.route('/')
def hello_world():
return '<html><body><h1>ようこそFlask入門へ(^^)/</h1></body></html>'
この部分がアプリケーションに用意されてる具体的な処理です。
@app.route('/')は、app(Flaskのインスタンス)にあるrouteというデコレータを表しています。
簡単に言うと、引数の'/'にアクセスがあったら、その後ろに書かれた関数(def hello_world():)を実行するってことです。
def hello_world():の中身は、HTMLで書かれたものなのでブラウザ上で表示されるときには、「'<html><body><h1>ようこそFlask入門へ(^^)/</h1></body>」が読み込まれます。
if __name__ == '__main__':
app.run()
こいつは、おまじないだと思ってください。
一応簡単に説明すると、コマンドプロンプトで、
python run.py
とすると、__name__という変数が'__main__'という名前に変わっているので、その時にif分の中の「app.run(Flaskインスタンスの中のrun)」でWebアプリを起動してくれるものです。
if __name__ == '__main__':
app.run()
がないと、run.pyの中のimport部分の関数が勝手に反応してしまうみたいです。
何はともあれPythonを実行してWebアプリを見てみよう(^^)/
では、コマンドプロンプトで「run.py」を実行してみましょう。
python run.py
実行すると、↓こんな感じになります。
http://127.0.0.1:5000/ にアクセスしてみましょう。
全然、アプリっぽくないですがFlaskの超入門ということでFlaskを使うことができました。
Twitter➡@t_kun_kamakiri
ブログ➡宇宙に入ったカマキリ(物理ブログ)
この記事が気に入ったらサポートをしてみませんか?