1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flask入門➀:インストール編

Posted at

はじめに

私はこれまでインフラエンジニアとして従事しており、アプリケーションの作成部分に携わったことはありません。
本記事で挙げるPythonについても、AWS LambdaやAnsibleのコードですこーし触ったことがある…程度となります。

アプリの分野も学びたいとは思っていたものの今まで先送りにしていたため、少しずつ学んでいこうと思います。
今回は比較的初心者にもやさしいとされるFlask(Python)を触れていきます。
認識誤っている点やおすすめ学習方法あればコメントいただけると幸いです。

Flaskとは

FlaskはPythonで使用できる軽量なWebアプリケーションフレームワークです。
迅速かつ簡単に始められるよう設計されており、複雑なアプリケーションのためのスケールアップも可能となります。

インストール

公式ガイドに従い、WSL上のUbuntuにインストールを進めます。

以下のコマンドで、仮想環境のアクティベートとインストールを実施します。

$ python3 -m venv .venv
$ . ./.venv/bin/activate
$ pip install Flask

バージョン表示が問題なくできればインストール完了です。

$ flask --version
Python 3.10.12
Flask 3.1.2
Werkzeug 3.1.4

Hello World!

インストールが完了したので、アプリケーションを作成していきます。
まずは下記のPythonファイルを作成します。
Flask自体との競合を避けるため、ファイル名はflask.py以外にしましょう。

hello.py
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

このファイルでは以下のことを行っています。

  • flaskクラスのインポート
  • appインスタンスの作成
  • route()を使用し、関数をトリガーするURLを定義
  • HTMLブラウザにレンダリングされる関数作成

それでは、下記コマンドで実際にアプリケーションを実行していきます。

flask --app hello run

image.png

これでアプリケーションの起動は完了です。
警告メッセージで表示されていますが、本番環境で使用する場合は専用のアプリケーションサーバやHTTPサーバを用意しましょう。

実際にWebブラウザからhttp://127.0.0.1:5000 にアクセスします。
image.png
期待通り、Hello, World!と表示されました!

動作確認が終わったら、CTRL + Cでアプリケーションを停止しましょう。

deactivate

Pythonのvenvを利用して、Flaskを動かしていたため、動作確認後は以下のコマンドで無効化しておきます。

$ deactivate

なお、無効化してもFlask等のライブラリは削除されず、再度アクティベートすることで利用可能です。
アクティベートするには以下のコマンドを実行します。

. .venv/bin/activate

まとめ

今回はFlaskの導入からHello, World!の表示までを行いました。
少しずつ理解を深めていき、まずはTodoリストなど作成できるようになりたいです。

参考文献

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?