Flask アプリケーションの構築

FlaskFlaskBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、基本的な Flask アプリケーションをセットアップするプロセスを案内します。Flask は、Python 用の軽量な Web アプリケーションフレームワークです。Web 開発の始め方を迅速かつ簡単にするように設計されています。

注: コードファイルは自分で作成し、環境で実行する必要があります。Web 5000 で Flask サービスの状態をプレビューできます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL flask(("Flask")) -.-> flask/DevelopmentToolsGroup(["Development Tools"]) flask(("Flask")) -.-> flask/DataHandlingGroup(["Data Handling"]) flask(("Flask")) -.-> flask/CoreConceptsGroup(["Core Concepts"]) flask/DataHandlingGroup -.-> flask/incoming_request_data("Incoming Request Data") flask/DataHandlingGroup -.-> flask/response_objects("Response Objects") flask/CoreConceptsGroup -.-> flask/application_object("Application Object") flask/CoreConceptsGroup -.-> flask/configuration("Configuration") flask/CoreConceptsGroup -.-> flask/json_support("JSON Support") flask/CoreConceptsGroup -.-> flask/useful_internals("Useful Internals") flask/DevelopmentToolsGroup -.-> flask/blueprint_objects("Blueprint Objects") flask/DevelopmentToolsGroup -.-> flask/command_line_interface("Command Line Interface") subgraph Lab Skills flask/incoming_request_data -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/response_objects -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/application_object -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/configuration -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/json_support -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/useful_internals -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/blueprint_objects -.-> lab-136335{{"Flask アプリケーションの構築"}} flask/command_line_interface -.-> lab-136335{{"Flask アプリケーションの構築"}} end

アプリケーションディレクトリの作成

まず、アプリケーション用のディレクトリを作成する必要があります。これは、アプリケーションに必要なすべてのファイルを保存するメインフォルダとして機能します。

cd ~/project
mkdir flaskr

アプリケーションファクトリのセットアップ

次に、flaskr ディレクトリに __init__.py ファイルを作成します。このファイルは 2 つの目的を果たします。アプリケーションファクトリを含み、Python に対して flaskr ディレクトリをパッケージとして扱うべきであることを示します。

__init__.py ファイルでは、必要なモジュールをインポートし、アプリケーションをインスタンス化して構成する create_app() 関数を定義します。

## flaskr/__init__.py

import os
from flask import Flask

def create_app(test_config=None):
    ## create and configure the app
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    ## ここに追加するコードが増えます...

    return app

アプリケーションの構成

同じ __init__.py ファイルに、アプリケーションに必要な構成詳細を追加します。これには、シークレットキーの設定とデータベースファイルの場所の指定が含まれます。

## flaskr/__init__.py

## 上にさらにコードがあります...

if test_config is None:
    ## テストしていない場合、存在する場合はインスタンス構成を読み込む
    app.config.from_pyfile('config.py', silent=True)
else:
    ## 渡された場合はテスト構成を読み込む
    app.config.from_mapping(test_config)

## インスタンスフォルダが存在することを確認する
try:
    os.makedirs(app.instance_path)
except OSError:
    pass

## 簡単なページで挨拶をする
@app.route('/')
def hello():
    return 'Hello, World!'

アプリケーションの実行

アプリケーションをセットアップして構成したので、今では flask コマンドを使って実行できます。このコマンドは、トップレベルのディレクトリから実行すること、flaskr パッケージからではないことに注意してください。

flask --app flaskr run --debug --host=0.0.0.0

以下のような出力が表示されるはずです。

 * Serving Flask app "flaskr"
 * Debug mode: on
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: nnn-nnn-nnn

次に、Web 5000 のタブを開き、以下のように表示されるはずです。

Flask app hello world page

まとめ

おめでとうございます。初めての Flask アプリケーションを成功裏に作成して実行しました!この基本的なアプリケーションは、より複雑なプロジェクトの出発点となることができます。Flask の柔軟性と単純さは、Python による Web 開発にとって素晴らしい選択肢になっています。