ホームページ バックエンド開発 Python チュートリアル Flask-Login を使用してユーザー ログインとセッション管理を実装する方法

Flask-Login を使用してユーザー ログインとセッション管理を実装する方法

Aug 02, 2023 pm 05:57 PM
flask セッション管理 login

Flask-Login を使用してユーザー ログインとセッション管理を実装する方法

はじめに:
Flask-Login は Flask フレームワークのユーザー認証プラグインであり、これを通じてユーザー ログインを簡単に実装できます。およびセッション管理 セッション管理機能。この記事では、ユーザー ログインとセッション管理に Flask-Login を使用する方法を紹介し、対応するコード例を示します。

1. 準備
Flask-Login を使用する前に、Flask プロジェクトにインストールする必要があります。 pip を使用して、次のコマンドでインストールできます:

pip install Flask-Login
ログイン後にコピー

2. Flask アプリケーションを作成して設定します
まず、Flask アプリケーションを作成し、それに応じて設定する必要があります。 app.py に次のコードを記述します:

from flask import Flask
from flask_login import LoginManager

app = Flask(__name__)
# 配置SECRET_KEY,用于加密会话数据
app.config['SECRET_KEY'] = 'your-secret-key'

login_manager = LoginManager(app)
ログイン後にコピー

その中で、LoginManager はログインとセッションの管理に使用されます。SECRET_KEY は app.config['SECRET_KEY'] を通じてセッション データを暗号化するように構成されます。弦。

3. ユーザー モデルの作成
次に、ユーザー名、パスワードなどのユーザー情報を保存するユーザー モデルを作成する必要があります。 app.py に次のコードを記述します。

from flask_login import UserMixin

class User(UserMixin):
    def __init__(self, id):
        self.id = id
        self.username = None
        self.password = None
    
    def get_id(self):
        return str(self.id)
ログイン後にコピー

ここでは、UserMixin クラスを継承することでユーザー モデルの実装を簡素化し、ユーザーの一意の識別子を返す get_id メソッドを実装します。

4. ログイン ビューの作成
次に、ユーザーのログイン リクエストを処理するログイン ビューを作成する必要があります。 app.py に次のコードを記述します。

from flask import request, redirect, url_for, render_template
from flask_login import login_user

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        
        # 验证用户名和密码
        user = User(1)  # 根据用户名和密码查询数据库获取用户对象
        if user.username == username and user.password == password:
            login_user(user)  # 登录用户
            return redirect(url_for('index'))
        
        return render_template('login.html', error='用户名或密码错误')
    
    return render_template('login.html')
ログイン後にコピー

ここでは、request.form.get を使用してユーザー リクエストのユーザー名とパスワードを取得し、ユーザー名とパスワードが正しいかどうかを確認します。正しい場合、login_user 関数が呼び出され、ユーザーにログインし、ホームページにリダイレクトされます。

5. セッション管理関連のコードを記述する
上記のコードでは、ユーザーログインを実現するためにFlask-Loginのlogin_user関数を使用しています。次に、セッション管理関連の機能を実装するためのコードを記述する必要もあります。

  1. ログイン成功コールバック関数

    from flask_login import login_user, login_required, logout_user, current_user
    
    @login_manager.user_loader
    def load_user(user_id):
     return User(int(user_id))
    ログイン後にコピー

    @login_manager.user_loader デコレータは、ユーザー オブジェクトをロードするために Flask-Login によって使用されます。この読み込み関数では、ユーザーの一意の識別子に基づいてユーザー オブジェクトを返します。

  2. 保護されたビュー関数

    @app.route('/')
    @login_required
    def index():
     return 'Hello, {}!'.format(current_user.username)
    ログイン後にコピー

    @login_required デコレータはインデックス ビュー関数を保護し、ログイン ユーザーのみがビューにアクセスできます。

  3. ログアウト ビュー

    @app.route('/logout')
    @login_required
    def logout():
     logout_user()  # 登出用户
     return redirect(url_for('login'))
    ログイン後にコピー

    ユーザーは、/logout パスにアクセスして、現在ログインしているユーザーからログアウトします。

6. ログイン ページの作成
最後に、ログイン ページを作成し、テンプレート ディレクトリにlogin.html ファイルを作成し、次のコードを記述する必要があります:

{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post" action="{{ url_for('login') }}">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>
ログイン後にコピー

ログイン ページでは、エラー メッセージが表示され、ユーザー名とパスワードの入力ボックスとログイン ボタンが表示されます。

7. アプリケーションの実行
この時点で、Flask-Login を使用してユーザー ログインとセッション管理を実装するためのコードがすべて完成しました。アプリケーションを実行し、/login パスにアクセスして、ユーザー ログイン用のログイン ページに入ります。

概要:
この記事では、Flask-Login を使用してユーザー ログインとセッション管理を実装する方法を紹介し、対応するコード例を示します。 Flask-Login を使用すると、ユーザーのログインとセッションを簡単に管理でき、アプリケーションのセキュリティとユーザー エクスペリエンスが向上します。この記事が Flask-Login の学習に役立つことを願っています。

以上がFlask-Login を使用してユーザー ログインとセッション管理を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 Sep 27, 2023 am 11:09 AM

React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 はじめに: インターネットの発展に伴い、Web アプリケーションのニーズはますます多様化および複雑化しています。使いやすさとパフォーマンスに対するユーザーの要件を満たすために、最新のテクノロジー スタックを使用してネットワーク アプリケーションを構築することがますます重要になっています。 React と Flask は、フロントエンドおよびバックエンド開発用の 2 つの非常に人気のあるフレームワークであり、うまく連携してシンプルで使いやすい Web アプリケーションを構築します。この記事では、React と Flask を活用する方法について詳しく説明します。

Django vs. Flask: Python Web フレームワークの比較分析 Django vs. Flask: Python Web フレームワークの比較分析 Jan 19, 2024 am 08:36 AM

Django と Flask はどちらも Python Web フレームワークのリーダーであり、それぞれに独自の利点と適用可能なシナリオがあります。この記事では、これら 2 つのフレームワークを比較分析し、具体的なコード例を示します。開発の概要 Django はフル機能の Web フレームワークであり、その主な目的は、複雑な Web アプリケーションを迅速に開発することです。 Django は、ORM (オブジェクト リレーショナル マッピング)、フォーム、認証、管理バックエンドなどの多くの組み込み機能を提供します。これらの機能により、Django は大規模なデータを処理できるようになります。

ゼロから始めて、Flask をインストールし、個人ブログを迅速に確立する方法を段階的にガイドします。 ゼロから始めて、Flask をインストールし、個人ブログを迅速に確立する方法を段階的にガイドします。 Feb 19, 2024 pm 04:01 PM

ゼロから始めて、Flask をインストールし、個人ブログをすぐに構築する方法を段階的に説明します。書くことが好きな人にとって、個人ブログを持つことは非常に重要です。軽量の Python Web フレームワークである Flask は、シンプルで完全に機能する個人ブログを迅速に構築するのに役立ちます。この記事では、ゼロから始めて、Flask をインストールして個人ブログを迅速に構築する方法を段階的に説明します。ステップ 1: Python と pip をインストールする 開始する前に、まず Python と pi をインストールする必要があります

Flask フレームワークのインストールガイド: Flask を正しくインストールするための詳細な手順 Flask フレームワークのインストールガイド: Flask を正しくインストールするための詳細な手順 Feb 18, 2024 pm 10:51 PM

Flask フレームワークのインストール チュートリアル: Flask フレームワークを正しくインストールする方法を段階的に説明します。特定のコード例が必要です。 はじめに: Flask は、シンプルで柔軟な Python Web 開発フレームワークです。学びやすく、使いやすく、強力な機能が満載です。この記事では、Flask フレームワークを正しくインストールする方法を段階的に説明し、参照用の詳細なコード例を提供します。ステップ 1: Python をインストールする Flask フレームワークをインストールする前に、まず Python がコンピュータにインストールされていることを確認する必要があります。 Pから始められます

Flask vs FastAPI: 効率的な Web API 開発のための最良の選択 Flask vs FastAPI: 効率的な Web API 開発のための最良の選択 Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: WebAPI の効率的な開発のための最良の選択 はじめに: 現代のソフトウェア開発において、WebAPI は不可欠な部分になっています。これらは、異なるアプリケーション間の通信と相互運用性を可能にするデータとサービスを提供します。 WebAPI を開発するためのフレームワークを選択する場合、Flask と FastAPI の 2 つの選択肢が大きな注目を集めています。どちらのフレームワークも非常に人気があり、それぞれに独自の利点があります。この記事ではフロリダ州について見ていきます。

Flask アプリケーション展開における Gunicorn と uWSGI のパフォーマンスの比較 Flask アプリケーション展開における Gunicorn と uWSGI のパフォーマンスの比較 Jan 17, 2024 am 08:52 AM

Flask アプリケーションのデプロイメント: Gunicorn と suWSGI の比較 はじめに: Flask は、軽量の Python Web フレームワークとして、多くの開発者に愛されています。 Flask アプリケーションを運用環境にデプロイする場合、適切なサーバー ゲートウェイ インターフェイス (SGI) を選択することが重要な決定となります。 Gunicorn と uWSGI は 2 つの一般的な SGI サーバーであり、この記事ではこれらについて詳しく説明します。

Flask のインストールと構成のチュートリアル: Python Web アプリケーションを簡単に構築するツール Flask のインストールと構成のチュートリアル: Python Web アプリケーションを簡単に構築するツール Feb 20, 2024 pm 11:12 PM

Flask のインストールと構成チュートリアル: Python Web アプリケーションを簡単に構築するためのツール、特定のコード サンプルが必要です はじめに: Python の人気が高まるにつれ、Web 開発は Python プログラマーにとって必要なスキルの 1 つになりました。 Python で Web 開発を実行するには、適切な Web フレームワークを選択する必要があります。数ある Python Web フレームワークの中でも、Flask はシンプルで使いやすく柔軟なフレームワークとして開発者に好まれています。この記事ではFlaskフレームワークのインストールについて紹介します。

Django のテンプレート エンジンと Flask の Jinja2 の詳細 Django のテンプレート エンジンと Flask の Jinja2 の詳細 Sep 28, 2023 am 11:39 AM

Django のテンプレート エンジンと Flask の Jinja2 を深く理解するには、特定のコード サンプルが必要です はじめに: Django と Flask は、Python で一般的に使用され、人気のある 2 つの Web フレームワークです。どちらも、動的 Web ページのレンダリングを処理する強力なテンプレート エンジンを提供します。 Django は独自のテンプレート エンジンを使用しますが、Flask は Jinja2 を使用します。この記事では、Django のテンプレート エンジンと Flask の Jinja2 について詳しく説明し、それらの使用法を示す具体的なコード例をいくつか示します。

See all articles