ホームページ > バックエンド開発 > Python チュートリアル > Python Flask フレームワークを始める

Python Flask フレームワークを始める

WBOY
リリース: 2023-06-17 08:48:17
オリジナル
2110 人が閲覧しました

Python Flask フレームワーク入門チュートリアル

Flask は、柔軟性と軽量性に重点を置いたシンプルで使いやすい Python Web フレームワークで、プログラマーが独自の好みに応じて構築できるようにします。この記事では、Flask の基本概念、インストール、使用法を紹介し、簡単な例を使用して Flask を使用して Web アプリケーションを構築する方法を示します。

  1. Flask とは何ですか?

Flask は、Python をベースとした軽量の Web アプリケーション フレームワークであり、特別なツールやライブラリを使用する必要はなく、構築とデプロイメントを完了するために Python 自体にのみ依存します。同時に、Flask は、ニーズを満たす Web アプリケーションを簡単に構築するための柔軟なツール セットも提供します。したがって、Flask は中小規模の Web アプリケーション開発で広く使用されています。

  1. Flask のインストール

Flask を使い始める前に、まず Flask をインストールする必要があります。まずターミナルを開いて次のコマンドを入力します:

pip install flask
ログイン後にコピー

このコマンドは、Python ソフトウェア リポジトリから Flask を自動的にダウンロードしてインストールします。数分間待つと、Flask がインストールされます。次のコマンドを入力して、Flask が正常にインストールされたかどうかを確認できます:

import flask
ログイン後にコピー

エラーが報告されない場合は、Flask が正常にインストールされたことを意味します。

  1. Flask の基本概念

Flask アプリケーションを開発するときは、いくつかの基本概念を理解する必要があります:

  • アプリケーション オブジェクト (アプリケーション オブジェクト) : Flask アプリケーションのエントリ ポイント。応答 HTTP サービスの開始を担当します。
  • ルーティング: URL パスと処理関数の間のマッピング関係を定義します。
  • View 関数: Flask アプリケーションでリクエストを処理する関数です。
  • リクエストコンテキスト: Flask は、リクエストに関連する関連情報にリクエストが簡単にアクセスできるように、各リクエストにコンテキストを提供します。
  • アプリケーション コンテキスト: Flask は各アプリケーションにコンテキストを提供します。このコンテキストは、アプリケーションのライフ サイクル全体を通じて、アプリケーションのグローバル変数と一部の構成情報を保存します。
  1. Python Flask Web アプリケーションの例

以下では、単純な Flask Web アプリケーションを作成します。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()
ログイン後にコピー

上記のコードでは、まず、 Flask モジュールをインポートし、Flask オブジェクトを作成しました。次に、app.route() デコレータを使用して、URL '/' と一致する必要があるルートを定義します。リクエストを処理する別の hello_world() ビュー関数を定義し、最後に app.run() メソッドを使用してアプリケーションを開始します。

このスクリプトを実行すると、Web サーバーがローカルに作成されます。ブラウザに http://localhost:5000/ と入力すると、結果が表示されます。表示される結果は Hello, World! です。

  1. Flask でのルーティング

Flask でのルーティングは、app.route() デコレーターを使用して定義されます。 app.route()デコレータのパラメータはルート URL であり、文字列または正規表現を使用して定義できます。以下は、さまざまなルート URL を定義する方法を示す例です。

@app.route('/')
def index():
    return 'Index Page'

@app.route('/hello')
def hello():
    return 'Hello, World!'

@app.route('/user/<username>')
def show_user_profile(username):
    return f'User {username}'

@app.route('/post/<int:post_id>')
def show_post(post_id):
    return f'Post {post_id}'
ログイン後にコピー

上記のコードでは、4 つの異なるルートを定義します。 '/''/hello' は、それぞれ Index PageHello, World!## を返す 2 つの固定 URL を定義します。 '/user/' および '/post/' は、さまざまな URL に一致する変数値を持つ動的ルートです。異なる URL を表示するために使用されます。コンテンツ。

    Flask のテンプレート
多くの Web アプリケーションでは、さまざまなユーザーのリクエストに応じてさまざまなコンテンツを動的に表示する必要があります。この場合、Flask でテンプレートを使用する必要があります。フラスコのテンプレート。 Flask では、Jinja2 テンプレート エンジンがデフォルトで使用されます。

Flask のテンプレートは、アプリケーションの

templates ディレクトリに配置する必要があります。次に、簡単なテンプレートの使用例を見てみましょう。

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)

if __name__ == '__main__':
    app.run()
ログイン後にコピー

上記のコードでは、

render_template() 関数を使用してテンプレートを呼び出します。テンプレート ファイルの名前は hello.html で、変数 name をレンダリングする必要があります。 render_template() 関数の 2 番目のパラメーターを使用して、変数値をテンプレートに渡します。テンプレート ファイルでは、{{ }} 構文を使用して変数値を出力します。

    Flask の静的ファイル
Flask では、静的ファイルとは通常、JavaScript、CSS、画像などのファイルを指します。これらの静的ファイルは通常、動的処理を必要としないため、頻繁に更新する必要はありません。 Flask の静的ファイルは、アプリケーションの

static ディレクトリに配置する必要があります。

これは簡単な例です:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/hello')
def hello():
    return render_template('hello.html')

if __name__ == '__main__':
    app.run()
ログイン後にコピー

上の例では、

url_for() 関数を使用して静的ファイルを読み込みます。テンプレートファイル内で url_for() 関数を使用する場合は、次のように呼び出す必要があります。

{{ url_for('static', filename='style.css') }}
ログイン後にコピー
このうち、

'static' は名前を表します。静的ファイル ディレクトリ。'filename' は静的ファイルの名前です。実際の環境では、'style.css' を必要な静的ファイルの名前に置き換える必要があります。

この時点で、Python Flask フレームワークの基本概念、インストール、ルーティング、テンプレート、静的ファイルについて学習しました。この記事の紹介を通じて、Flask フレームワークの使用をすぐに開始し、独自の Python Web アプリケーションを開発できるようになることを願っています。

以上がPython Flask フレームワークを始めるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート