flaskによる簡易アプリの作成
はじめに
Flaskを使用して1からアプリケーションを作り、必要な技術を学んでいただけるようにまとめています。
- flaskによる簡易アプリの作成 ← ★現在ここ
- Home画面を作成してみる
- 認証機能を作成してみる
- データベースを扱ってみる
- CRUD機能を作成してみる
Flaskとは
Flaskは2010年に開発されたPythonのマイクロフレームワークです。
必要最小限のライブラリに依存し、特定のツールやライブラリを必要としないため、「マイクロフレームワーク」と呼ばれています。
以下のような特徴があります。
- マイクロフレームワークなので、非常に軽い
- 必要最低限の昨日しか持っていないので、余計な機能が動作を重くするといったことがありません
- 拡張性が高い
- 必要最低限のコア機能に、拡張機能を組み合わせて作成していくのがFlaskの設計思想です。
- ORM、キャッシュ、認証は後から機能を追加する必要があります。
- カスタマイズ性が高い
- DBが必ずしもセットされず、NoSQLを利用したいといったケースの場合Flaskではかなり細かくカスタマイズできます。
- シングルファイルフレームワーク
- Flaskを利用する場合、Flaskをインストールして、1つのファイルに数行のコードを記述するだけでターミナルで起動できます。
シングルファイルフレームワーク
Flaskは「シングルファイルフレームワーク」であるというモチベーションで作られました。
最小限の昨日であることからどのようなアプリケーションにもカスタマイズできるという素晴らしさも兼ね備えています。
開発環境
- mac(catalina)
- 言語: Python 3系
- フレームワーク: Flask
- DB: SQLite
- ORM: SQLAlchemy
仮想環境で行うことをオススメします。
成果物
ディレクトリ構成
app/
├ src/
├ templates
├ static
├ manage.py
├ requirements.txt
├ venv
├ server.py
flaskにおける簡単アプリの作成
initファイルの作成
src/__init__.py
from flask import Flask
app = Flask(__name__)
import src.views
viewsファイルの作成
src/views.py
from src import app
@app.route('/')
def index():
return "Hello World"
起動ファイルの作成
server.py
import sys
sys.dont_write_bytecode = True
from src import app
if __name__ == '__main__':
host = '127.0.0.1'
port = 5000
app.run(host=host, port=port, debug=True)
app/
├ src/
├ templates
├ static
├ manage.py
├ requirements.txt
├ venv
├ server.py
from flask import Flask
app = Flask(__name__)
import src.views
from src import app
@app.route('/')
def index():
return "Hello World"
import sys
sys.dont_write_bytecode = True
from src import app
if __name__ == '__main__':
host = '127.0.0.1'
port = 5000
app.run(host=host, port=port, debug=True)
このファイルは、http://127.0.0.1:5000/ にリクエストが会ったときの処理を記載しています。
* 'if name == 'main':'はこのファイルを直接実行されたときに実行される処理を記述しています。
* 'debug=True'はデバッグモードでアプリケーションを起動し、これで実行することにより、アプリの実行時にコンソール上に様々な情報が表示される。
実行
$ python3 serve.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Author And Source
この問題について(flaskによる簡易アプリの作成), 我々は、より多くの情報をここで見つけました https://qiita.com/k_yokozuka/items/7e7d4a095dcf32ec9b30著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .