この記事では、MongoDBのPythonモジュールの1つであるPyMongoを使用して、Flaskユーザーログインシステムを構築する方法について説明します。 統合と開発ロジックはSQLALCHEMYデータベースを使用する場合と類似していますが、MongoDBを使用する場合には一部の設定と設定の詳細が独自かつ異なります。
非SQLデータベースを使用してFlaskユーザーログインシステムを構築し、顧客データベースを管理することをお勧めする場合は、本記事がお役に立つでしょう。
目次:PyMongoを使用したFlaskユーザーログインシステム
- SQLALCHEMYをMongoDBユーザーシステムロジックで置き換える
- FlaskアプリケーションでのPyMongoの設定
- ユーザークラスの作成
- サインアップ、ログイン、プロファイルページ
- PyMongoを使用したFlaskユーザーログインシステムの完全なPythonスクリプト
SQLALCHEMYをMongoDBユーザーシステムロジックで置き換える
第57章で、SQLAlchemyを使用したユーザーログインシステムのロジックを共有しました。基本的に、そのロジックはMongoDBとPyMongoモジュールを使用してこの記事に適用できます。Flaskモジュールとして必要なもの、例えばログインマネージャーやcurrent_userなども含まれます。基本ロジックに関する詳細については、この記事を参照してください。
MongoDBはJSONベースの非SQLデータベースプラットフォームです。データの呼び出しと応答の方法はSQLベースと異なります。ただし、私の観点からは、SQLよりもはるかに強靭でデータの呼び出しと応答を扱いやすくなっています。
このFlaskユーザーログインシステムを使用する方法は、Pythonチュートリアル66と同じです。MongoDBに保存されたデータを呼び出す方法については、この記事を参照してください。
FlaskアプリケーションでのPyMongoの設定
Pythonチュートリアル66で以前にPyMongoとMongoClientを使用した場合とは異なり、flask-PyMongoモジュールを使用する場合は、Flaskアプリとの構成を設定する必要があります。以下はコードサンプルです。
ステップ1:ターミナルでモジュールをインストールし、モジュールをインポートする
ステップ2:構成と統合
UserMixinを使用してUserクラスを作成する
SQLALCHEMEYデータベースを使用する場合、このセクションの設定はデフォルトで作成されます。一方、MongoDBを使用する場合は、これらを設定する必要があります。このセクションの目的は、ユーザーがサインアップまたはログインした後のユーザーログイン状態を制御することです。それは自動的にユーザーの身元を検出することができ、このユーザーに異なるコンテンツまたはサービスを表示できます。
サインアップ、ログイン、プロフィールページ
前述のように、FlaskのユーザーログインシステムのロジックはSQLALCHEMEYを使用する場合と類似しています。MongoDBを使用する場合の違いが示されています。
サインアップページ
ユーザーが存在するかどうかを検証するために特定のユーザーデータを呼び出すことは、MongoDBがJSONベースの形式であるため異なります。以下にコードのサンプルを示します。
これが新しいユーザーであることを検出したら、私たちは上記で作成したUserクラスを追加する必要があります。これには、クラスの位置引数に新しいユーザーのサインアップ情報を追加することが含まれます。
さらに、デフォルトのMongoDB IDを使用する代わりに、UUIDモジュールを使用してIDを追加することをお勧めします。これは、フォーマットがより直感的で、その後簡単に取得できるためです。
ログインページ
MongoDBでは、find_one
メソッドを使用してデータのヒントの1つを使用してユーザーの完全なデータセットを呼び出します。さらに、データ形式はJSONです。したがって、ユーザーパスワードの検証には、[‘password’]をユーザー変数の後に追加することでMongoDBデータベース内のハッシュ化されたパスワードを呼び出すことができます。
プロフィールページ
プロフィールページでは、顧客関連情報をフロントエンドHTMLページに供給する必要があります。 Userクラスにget_id()を作成し、サインアップセクションで作成したユーザーIDを含めました。Current_userモジュールは自動的にログインしているユーザーを検出できます。ユーザーデータを取得してプロファイルページに表示するには、次のコードをrender_templateで使用できます。
PyMongoを使用したFlaskユーザーログインシステムの完全なPythonスクリプト
Chapter 69 – Build A Flask User Login System Using PyMongoの完全なPythonスクリプトに興味がある場合は、「Chapter 69」というメッセージを追加してニュースレターに登録してください。すぐにスクリプトをメールボックスに送信します。
Chapter 69 – Build A Flask User Login System Using PyMongoを読んで楽しんでいただければ幸いです。もしそうであれば、以下にリストされたいずれかのことを行って、いつも私たちのチャンネルを支援してください。
- PayPalを介して私たちのチャンネルをサポートおよび寄付する(paypal.me/Easy2digital)
- 私のチャンネルに登録して、通知ベルをオンにするEasy2Digital Youtubeチャンネル。
- 私のページをフォローして、いいねをするEasy2Digital Facebookページ
- あなたのソーシャルネットワークで記事をハッシュタグ「#easy2digital」を付けて共有する
- Easy2Digitalの最新記事、ビデオ、割引コードを受け取るために、私たちの週刊ニュースレターに登録する
- Patreonを通じて私たちの月間会員に登録して、独占的な特典を楽しむ(www.patreon.com/louisludigital)