LoginSignup
23
30

More than 3 years have passed since last update.

Flaskで簡単アプリケーション構築

Posted at

はじめに

この記事ではFlaskでアプリケーションを立ち上げ、Flaskマスターに俺はなる!と画面に表示することを最終目標としています。

開発環境(前提条件)

・python3.7.3(筆者のpythonバージョンです)
・pipコマンドが使える
・mac

もし、python3系をインストールしていない場合は
https://qiita.com/nissynishizawa/items/1b2cfb6c4e4518185276
この方の記事を参考にpyenvというパッケージ管理ツールをインストールしpythonのバージョンを変更してください。

フォルダの構成

今回作るアプリのフォルダ構成です!

Flask
├── Pipfile
├── Pipfile.lock
├── flask_box
│   ├── __init__.py
│   └── views.py
└── server.py

PipenvとFlaskのインストール

PipenvはPythonのパッケージングツールで、簡単に仮想環境を用意できるありがたいツールです。

それでは、早速インストールしてみましょう!
以下のコマンドをターミナルで実行してください。

pip install pipenv

インストール後に

pipenv --version

と実行しバージョンが表示されたら成功です!

では、次に仮想環境の準備をしていきましょう!
まずは、Flaskというフォルダを作成してください。作成できたらFlaskフォルダ内に移動し、以下のコマンドを実行してください。

pipenv --three

このコマンドは仮想環境を用意するためのものです、実行すると「Pipfile」が作成されていると思います。
仮想環境ができたので、早速中に入ってみましょう!
以下のコマンドを実行してください。

pipenv shell

このコマンドを実行することで、仮想環境が動きます。ターミナルのuser名の左側に(Flask)と表示されていたら成功です。

ここまで完了したら、Flaskのパッケージをインストールします。
以下のコマンドを実行してください。

pipenv install Flask

インストールに成功すると、「Pipfile.lock」が作成されていると思います!

アプリケーションの作成

仮想環境を作成できたので、ここからはviewに文字を表示するためのプログラムを書いていきましょう!

まずは、サーバーを立ち上げるためのファイルを作成します。Flaskフォルダの直下にserver.pyというファイルを作成してください。作成したら以下のように記述してください。

server.py
from flask_box import app

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

簡単に説明をします。「from flask_box import app」で、flask_boxフォルダ内のappというモジュールをこのファイルで使わせてくれ〜とお願いをして、「app.run」でアプリケーションを立ち上げてーと命令していると思ってください。「debug=True」はデバッグモードを有効にするという意味です。

サーバー起動用のファイルを作成したので、次はviewファイルを作成していきましょう!
Flaskフォルダの直下にflask_boxというフォルダを作成してください。作成したら、flask_box内に移動し、

__init__.py

というファイルを作成し、以下のように記述してください。

flask_box/__init__.py
from flask import Flask

app = Flask(__name__)

import flask_box.views

これも簡単に説明すると、Flask本体を使えるようにimportして、appという変数にアプリケーションの核を入れ、flask_box内のviewsファイルを読み込めるようにしておいて〜と指示している感じです。

ここまで完了したら、viewファイルの作成に入りましょう!
flask_boxの直下にviews.pyというファイルを作成し、以下のように記述してください。

flask_box/views.py
from flask_box import app

@app.route("/")
def index():
  return "Flaskマスターに俺はなる!"

ここではルーティングの設定をしています。
書いている内容は、アプリケーションを立ち上げたらindexメソッドを実行してviewに表示してーといった感じです!

これで準備は整いましたので、最後にサーバーを起動してみましょう。
以下のコマンドを実行してください。
(一つ注意ですが、このコマンドはFlaskフォルダに移動してから実行してください。flask_box内で実行すると「No such file or directory」といったメッセージがでてしまいます。)

python server.py

サーバーの起動に成功すると、このようなメッセージが表示されると思います。

 Serving Flask app "flask_box" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production 
   deployment.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat

最初は赤文字でびっくりすると思いますがエラーではないので大丈夫です↓
WARNING: This is a development server. Do not use it in a production deployment.

最後に、以下のurlをGoogleに貼り付けてEnterを押してください。

http://127.0.0.1:5000/

画面にFlaskマスターに俺はなると表示されていたらアプリの完成です!

おわりに

ここまで読んでいただきありがとうございます。間違い等がありましたらご指摘いただければ幸いです。

参考文献
ゼロからFlaskがよくわかる本: Pythonで作るWebアプリケーション開発入門

23
30
2

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
23
30