Quickstarters
CRUD Samples
How to Build a CRUD App with Python?
32 分
概要 このチュートリアルでは、pythonを使用して基本的なcrud(作成、読み取り、更新、削除)アプリケーションを構築する方法を学びます。 データ管理を簡素化するために、バックエンドプラットフォームとしてback4appを活用します。このガイドでは、back4appプロジェクトの設定、柔軟なデータスキーマの作成、rest api呼び出しを介してcrud操作を実行するためのpythonスクリプトのコーディングを説明します。 最初に、スケーラブルで非関係型のデータストレージソリューションを提供する basic crud app python というback4appプロジェクトを作成します。 back4appダッシュボードを通じて手動で、または統合されたaiエージェントの支援を受けて、クラスとそのフィールドを定義することでデータモデルを概説します。 次に、データ管理を簡素化するドラッグアンドドロップインターフェースであるback4app admin appを探索します。 最後に、restful api呼び出しを行って安全なcrud操作を実行することで、pythonアプリケーションをback4appにリンクします。 このガイドを完了すると、コアcrudタスクを実行し、安全なユーザー認証とデータ管理を備えた、プロダクション対応のpythonアプリケーションを開発できるようになります。 学べること 堅牢な非関係型バックエンドを持つpythonベースのcrudアプリを作成する方法。 pythonコードと統合してスケーラブルなバックエンドを構築するための技術。 データレコードを管理するためにback4app admin appを効率的に使用する方法。 pythonアプリケーションのためのdockerを使用したコンテナ化を含むデプロイメントアプローチ。 前提条件 進む前に、以下のことを確認してください 新しく構成されたプロジェクトを持つback4appアカウント。 助けが必要ですか? back4appの始め方 https //www back4app com/docs/get started/new parse app を訪れてください。 python開発環境。 好みのide(pycharmやvs codeなど)を使用し、python 3 7以上がインストールされていることを確認してください。 python、オブジェクト指向プログラミング、rest apiの基本的な理解。 必要に応じて、 pythonドキュメント https //docs python org/3/ を参照してください。 ステップ 1 – プロジェクトの設定 新しい back4app プロジェクトの開始 back4app アカウントにログインします。 ダッシュボードの「新しいアプリ」ボタンを選択します。 プロジェクト名を入力します: basic crud app python そして、セットアップを完了するための指示に従います。 新しいプロジェクトを作成 セットアップが完了すると、プロジェクトがダッシュボードに表示され、バックエンド構成の基盤が築かれます。 ステップ 2 – データモデルの作成 データ構造の定義 このcrudアプリケーションでは、back4appプロジェクト内で複数のクラス(コレクション)を定義する必要があります。以下の例は、基本的なcrud操作に必要な重要なクラスとそれに対応するフィールドを概説しています。 1\ アイテムクラス このクラスは各アイテムに関する情報を保存します。 フィールド データ型 説明 id オブジェクトid 自動生成された一意の識別子。 タイトル 文字列 アイテムの名前。 説明 文字列 アイテムの簡単な概要。 作成日時 日付 アイテムが作成された時刻のマーク。 更新日時 日付 最終変更のタイムスタンプ。 2\ ユーザークラス このクラスはユーザーの資格情報と認証を処理します。 フィールド データ型 説明 id オブジェクトid 自動生成された一意の識別子。 ユーザー名 文字列 ユーザーのためのユニークなユーザー名。 メール 文字列 ユーザーのユニークなメールアドレス。 パスワードハッシュ 文字列 安全な認証のためのハッシュ化されたパスワード。 作成日時 日付 アカウントが作成された日時。 更新日時 日付 アカウントが最後に更新された日時。 これらのクラスを手動で作成し、back4appダッシュボードを通じてフィールドを指定できます。 新しいクラスを作成 フィールドを追加するには、データ型を選択し、フィールドに名前を付け、デフォルト値を設定し、必須としてマークします。 列を作成 back4app aiエージェントを使用したスキーマ設定 back4app aiエージェントは、あなたの要件に基づいてデータスキーマを自動生成できるダッシュボードに組み込まれたスマートツールです。この機能はプロジェクトのセットアップを加速し、モデルが必要なすべてのcrud機能をサポートすることを保証します。 aiエージェントを活用する方法 aiエージェントを開く back4appダッシュボードにサインインし、プロジェクト設定のaiエージェントに移動します。 データモデルを概説する 必要なクラスとフィールドを詳細に説明する包括的な説明を提供します。 レビューと確認 aiエージェントはあなたの入力に基づいてスキーマを提案します。提案を確認し、実装することを確認します。 例のプロンプト create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) このアプローチは時間を節約し、データモデルがアプリケーションのニーズに適切に最適化されていることを保証します。 ステップ 3 – 管理アプリの有効化とcrud操作の実行 管理アプリの紹介 back4app管理アプリは、バックエンドデータを効率的に管理するためのノーコードインターフェースです。直感的なドラッグアンドドロップ機能を使用すると、レコードを簡単に作成、表示、更新、削除できます。 管理アプリの有効化 「その他」メニューに移動 あなたのback4appダッシュボードで。 「管理アプリ」を選択 をクリックして 「管理アプリを有効にする」。 管理アカウントを設定 初期の資格情報を設定します。これにより、役割(例えば、 b4aadminuser ) と必要なシステムクラスが作成されます。 管理アプリを有効にする 有効化した後、管理アプリにログインしてアプリのデータを管理します。 管理アプリダッシュボード crud操作のための管理アプリの使用 管理アプリ内で、あなたは レコードの挿入 クラス(例 アイテム)で「レコードを追加」を選択して新しいデータを追加します。 レコードの表示と編集 エントリをクリックしてその詳細を表示したり、フィールドを更新します。 レコードの削除 もはや必要のないレコードを削除します。 このユーザーフレンドリーなインターフェースは、データ管理を簡単にします。 ステップ 4 – python アプリを back4app に接続する バックエンドが準備できたら、次のフェーズは python アプリケーションを back4app にリンクすることです。 python での rest api コールの利用 python 用の公式 parse sdk は利用できないため、rest api コールを使用して back4app と対話します。python の requests ライブラリはこれに最適です。 1\ 必要なライブラリのインストール 次のコマンドを実行して requests パッケージをインストールします pip install requests 2\ 例 アイテムの取得 以下は、back4app プロジェクトからアイテムを取得する python スクリプトです import requests def fetch items() url = "https //parseapi back4app com/classes/items" headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key" } try response = requests get(url, headers=headers) response raise for status() items = response json() get("results", \[]) print("fetched items ", items) except requests requestexception as error print("error fetching items ", error) if name == " main " fetch items() 3\ アイテムの作成、更新、削除 他のcrud操作の例は次のとおりです import requests import json base url = "https //parseapi back4app com/classes/items" headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" } def create item(title, description) payload = { "title" title, "description" description } try response = requests post(base url, headers=headers, data=json dumps(payload)) response raise for status() print("item created ", response json()) except requests requestexception as error print("creation error ", error) def update item(object id, new title, new description) url = f"{base url}/{object id}" payload = { "title" new title, "description" new description } try response = requests put(url, headers=headers, data=json dumps(payload)) response raise for status() print("item updated ", response json()) except requests requestexception as error print("update error ", error) def delete item(object id) url = f"{base url}/{object id}" try response = requests delete(url, headers=headers) response raise for status() print("item deleted successfully ") except requests requestexception as error print("deletion error ", error) if name == " main " \# example usage create item("sample item", "this is a test item ") \# to update or delete, replace 'object id' with a valid id 必要に応じて、これらの関数をアプリケーションロジックに統合してください。 ステップ5 – バックエンドセキュリティの強化 アクセス制御の実装 アクセス制御ルールを設定してデータを保護します。たとえば、特定のacl設定をapi呼び出しで使用することで、アイテムの所有者のみがそれを表示または変更できるようにすることができます。 プライベートアイテムを作成する際は、ペイロードにacl設定を含めてください。詳細な設定はback4appダッシュボードで行うことができます。 クラスレベルの権限設定(clp) back4appプロジェクト設定でclpを調整して、デフォルトのセキュリティポリシーを強制し、認証されたユーザーのみが特定のクラスにアクセスできるようにします。 ステップ6 – ユーザー認証の実装 ユーザー登録とログインの管理 back4appは、組み込みのuserクラスを通じてユーザー認証をサポートしています。以下の例は、python rest api呼び出しを使用してユーザーを登録および認証する方法を示しています。 import requests import json user url = "https //parseapi back4app com/users" user headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" } def sign up(username, password, email) payload = { "username" username, "password" password, "email" email } try response = requests post(user url, headers=user headers, data=json dumps(payload)) response raise for status() print("user registered ", response json()) except requests requestexception as error print("registration error ", error) def log in(username, password) url = f"{user url}/login?username={username}\&password={password}" try response = requests get(url, headers=user headers) response raise for status() print("logged in user ", response json()) except requests requestexception as error print("login error ", error) if name == " main " \# example usage sign up("newuser", "securepassword", "user\@example com") log in("newuser", "securepassword") このセットアップは、セッション管理、パスワードリセット、およびその他の認証機能をサポートしています。 ステップ7 – pythonアプリケーションのデプロイ back4appは、簡単なデプロイプロセスを提供します。dockerコンテナ化などの方法を使用して、pythonアプリケーションをデプロイできます。 7 1 pythonアプリケーションの構築 アプリケーションをパッケージ化する: 好みの方法を使用します(たとえば、仮想環境を作成し、コードをパッケージ化する)。 パッケージをテストする: すべての依存関係がインストールされており、スクリプトが期待通りに動作していることを確認します。 7 2 プロジェクト構造の整理 典型的なpythonプロジェクトは次のようになります basic crud app python/ \| app/ \| | init py \| | main py \| | crud py \| | auth py \| requirements txt \| dockerfile \| readme md たとえば、あなたの crud py には、アイテムを処理するための上記の関数が含まれている可能性があります。 7 3 あなたのpythonアプリケーションのdocker化 アプリをコンテナ化するには、プロジェクトディレクトリに dockerfile を含めます \# use an official python runtime as the base image from python 3 9 slim \# set the working directory workdir /app \# install required packages copy requirements txt run pip install no cache dir r requirements txt \# copy application code copy \# expose the port your app will run on (if applicable) expose 5000 \# define the default command to run the app cmd \["python", "app/main py"] 7 4 back4appウェブデプロイメントによるデプロイ githubリポジトリを接続する あなたのpythonコードをgithubにホストし、back4appアカウントにリンクします。 デプロイメントオプションを設定する back4appダッシュボードで、ウェブデプロイメントセクションに移動し、リポジトリ(例 basic crud app python )を選択し、ブランチを選びます。 ビルド設定を構成する ビルドコマンドを設定します(例 pip install r requirements txt ) とスタートアップコマンドを指定します。 アプリをデプロイする 「デプロイ」をクリックし、アプリケーションがライブになるまでログを監視します。 ステップ8 – まとめと今後の方向性 素晴らしい仕事です!あなたはback4appと統合されたpythonベースのcrudアプリケーションを成功裏に構築しました。 「 basic crud app python 」という名前のプロジェクトを設定し、アイテムとユーザーのクラスを定義し、back4app管理アプリを通じてデータを管理しました。 さらに、rest api呼び出しを使用してpythonスクリプトをback4appに接続し、堅牢なセキュリティ対策を実装しました。 次のステップ: アプリケーションを拡張する: 高度なフィルタリング、詳細ビュー、またはライブ更新などの追加機能を導入します。 バックエンド機能を強化する: クラウド機能、外部api、または高度な役割ベースのアクセス制御を統合することを検討してください。 スキルを深める: 「 back4appのドキュメント https //www back4app com/docs 」を訪れて、アプリケーションを洗練させるためのさらなるチュートリアルを探求してください。 コーディングを楽しんで、python crudアプリケーションの構築を楽しんでください!