Quickstarters

Djangoのバックエンドを構築する方法は?

37min

はじめに

このチュートリアルでは、 Djangoのバックエンドを構築する方法を学びます。 Back4Appの強力なAI駆動プラットフォームを使用します。

Djangoは、高度なウェブフレームワークで、迅速なバックエンド開発とクリーンで実用的なデザインを促進します。

スケーラブルで安全なバックエンドを作成し、あなたのDjangoプロジェクトとシームレスに統合します。

Back4Appを使用することで、自動化されたデータベース管理、強力なAPI、ファイルストレージ、ユーザー認証、データ検証、リアルタイム機能、そして高度なセキュリティ機能を活用できます。

Back4Appの環境が自動的にサーバーインフラを生成する様子を見て、Djangoアプリのビジネスロジックに集中できるようになります。

このアプローチにより、サーバーやデータベースを手動で設定する必要がなくなり、開発時間が短縮されます。

このチュートリアルの終わりまでに、より複雑な機能、統合、カスタムロジックで拡張できるウェブアプリケーションの堅牢な構造を持つことができます。

前提条件

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4Appの始め方。 アカウントを持っていない場合は、無料で作成できます。上記のガイドに従ってプロジェクトを準備してください。
  • ローカルにセットアップされたDjangoプロジェクト 動作するDjango環境を持っていることを確認してください。ゼロから始める場合は、Djangoの公式ドキュメント。 プロジェクトのINSTALLED_APPSと基本的なviews and templatesの構造が準備されていることを確認してください。
  • Python 3.7+がインストールされていること Djangoアプリのために最新のPython環境が必要です。
  • Djangoのモデルビューアーキテクチャと基本的なCRUD操作に慣れていること Djangoが初めての方や復習が必要な方は、Djangoのドキュメント。

これらの前提条件を整えることで、このチュートリアルを進める際にスムーズな体験が得られます。

ステップ1 – Back4Appで新しいプロジェクトを作成し接続する

なぜBack4Appプロジェクトが必要なのか

Back4Appの新しいプロジェクトは、バックエンド開発の基盤です。Parse Serverの機能、データベースツール、強力な管理インターフェースを提供します。

この中心的な構造により、サーバー管理を軽減し、Djangoアプリのビジネスロジックに集中できます。

新しいプロジェクトを作成する

  1. Back4Appアカウントにログインします。
  2. 「新しいアプリ」ボタンをクリックします Back4Appダッシュボードで。
  3. アプリの名前を付けます(例:「Django-Backend-Tutorial」)。
Document image


作成が完了すると、アプリはBack4Appダッシュボードに表示されます。この新しいプロジェクトは、データを保存し、セキュリティルールを管理し、Djangoアプリのサーバーサイドコードを実行する場所です。

Parse Python SDKのインストール

DjangoプロジェクトをBack4Appに接続するために、Parse Python SDKを使用します。これにより、Pythonコード内でデータ操作、ユーザー認証、リアルタイム機能などを処理できます。

  1. アプリキーを取得します:
    • Back4Appダッシュボードで、「アプリ設定」または「セキュリティとキー」に移動して、アプリケーションIDクライアントキー(またはRESTキー)およびParseサーバーURL(例:https://parseapi.back4app.com)を見つけます。
Document image

  1. SDKをインストールします:
Bash

  1. Parseを初期化する あなたのDjangoプロジェクトで。例えば、次のように新しいファイルを作成します。parse_config.py あなたのメインDjangoアプリディレクトリ内に(views.py またはmodels.py):
Python


この設定により、Djangoプロジェクト内の任意のファイルがparse_configをインポートして、Back4Appバックエンドへの接続を確保できます。これで、Parse Python SDKを使用してDjangoコードからデータをクエリおよび保存できます。

ステップ2 – データベースの設定

1. データモデルの作成

Djangoがリレーショナルデータベースにデータを保存するためにモデルを使用するのと同様に、Parseはオブジェクトを保存するためにクラスを使用します。Back4Appダッシュボードでクラスを作成するか、動的に定義することができます。

  • Back4Appダッシュボードで
    1. に移動します データベース
    2. をクリックします クラスを作成
    3. 名前を付けます(例:「Todo」)、次に title(文字列)と isCompleted(ブール値)などのフィールドを追加します。
新しいクラスを作成
新しいクラスを作成


2. AIエージェントを使用してデータモデルを自動生成する

Back4AppのAIエージェントは、スキーマを自動生成するのに役立ちます:

  1. AIエージェントを開く あなたのアプリダッシュボードで。
  2. データモデルを説明します(例:「タイトル、isCompleted、ユーザーポインタを持つTodoアプリのスキーマ」)。
  3. AIエージェントにあなたのために構築させます。
Document image


これにより、特にDjangoアプリが複雑な関係や高度なデータ検証を必要とする場合に、時間を節約できます。

3. Parse SDKを使用してデータの読み書き

以下は、あなたのDjangoプロジェクト内での 作成クエリTodoオブジェクトの例です:

Python


これらの関数は、あなたのDjangoビューやシェルから呼び出すことができます。このセットアップは、あなたのDjangoアプリのロジックと連携して機能するため、あなたのウェブフレームワークはParseバックエンドと完全に統合されたままです。

4. REST APIを使用したデータの読み取りと書き込み

RESTを好む場合、以下のように 作成することができます Todoオブジェクト:

Bash


5. GraphQL APIを使用したデータの読み取りと書き込み

Back4Appはまた、GraphQLインターフェースを提供しています。例えば:

GraphQL


これは、DjangoのビューやマイクロサービスにGraphQLクエリを統合したい場合に便利です。

6. ライブクエリの操作(オプション)

リアルタイムの更新のために、ライブクエリを有効にすることができます。Back4Appダッシュボードで。現時点では、公式のParse Python SDKは直接のライブクエリサポートが限られているかもしれません。しかし、必要に応じてWebSocketや他のアプローチを通じて変更を購読することは可能です。最新のPythonライブクエリに関する更新情報は、Back4App Docsを確認してください。

ステップ3 – ACLとCLPによるセキュリティの適用

1. 概要

データを保護するために、アクセス制御リスト(ACL)クラスレベルの権限(CLP)を使用します。ACLはオブジェクトごとの読み取り/書き込み権限を制御し、CLPはクラス全体に適用されます。

Document image


2. ステップバイステップ

  • クラスレベルの権限を設定:
    1. Back4Appの データベース セクションに移動します。
    2. クラスを選択します(例: Todo)。
    3. 読み取り/書き込み アクセスを調整するか、ログインを要求します。
  • コード内でのACLの設定:

これにより、DjangoプロジェクトがBack4Appで設定された同じ詳細なセキュリティルールを尊重することが保証されます。

ステップ4 – クラウドコード関数の作成

1. なぜクラウドコードなのか

クラウドコードを使用すると、サーバー側で ビジネスロジック を実行できます。たとえば、データの検証を行ったり、外部APIを統合したり、データを保存する前にイベントをトリガーしたりできます。これは、Djangoのビューやテンプレートを補完する強力な手段であり、高度なロジックを1か所に集中させることができます。

2. 例の関数

Cloud Code は通常JavaScriptで書かれます。これをBack4Appにデプロイし、DjangoアプリからParse Python SDKまたはRESTリクエストを介して呼び出します。シンプルな関数:

JS


3. デプロイメント

  1. Back4App CLIを使用する または ダッシュボード.
  2. あなたの main.js をクラウド関数でデプロイします。
  3. デプロイされたら、次のようにDjangoコードからアクセスできます:
Python


4. NPM

Cloud Codeで外部Nodeモジュールが必要な場合は、Cloud Codeディレクトリの package.json に宣言します。Back4Appはデプロイ時に自動的にインストールします。

ステップ 5 – 認証の設定

1. ユーザー認証の有効化または設定

デフォルトでは、Parseはサインアップとログインのための User クラスを含んでいます。Back4Appダッシュボードでメール確認、パスワードリセットなどを設定します。

2. Django コードサンプル

Python


3. ソーシャルログイン

Google、Apple、またはFacebookのログインが必要な場合は、Back4Appの Auth Settings で設定し、それぞれのガイドに従ってください。あなたのDjangoアプリは、関連するParseメソッドを呼び出すことでユーザーをリンクまたはログインさせることができます。

ステップ 6 – ファイルストレージの処理

1. ファイルストレージの設定

Back4Appは、Parse SDKを介してアップロードされたファイルを安全に保存します。DjangoからファイルをParse Fileフィールドに送信してアップロードできます:

Python


2. 例

ユーザーがアップロードした画像を追加したい場合は、Djangoテンプレートに<input type="file">を統合し、次にupload_image()を呼び出すビュー関数でファイルを処理します。

3. セキュリティの考慮事項

Parseは、誰がファイルをアップロードできるかを制御する設定を提供します:

JSON


これらを調整して、信頼できるユーザーのみが機密ファイルを保存およびアクセスできるようにします。

ステップ7 – メール確認とパスワードリセット

1. 概要

Djangoのadmin interfaceは多くのことを処理しますが、Parseを使用したバックエンドでは、メール確認とパスワードリセットも有効にできます。これは、実際のユーザーを確認し、スムーズなアカウント回復の道を提供するために重要です。

2. ダッシュボード設定

  1. Back4Appアプリを開く
  2. メール確認を有効にするアプリ設定 > メール設定
  3. メールテンプレートをカスタマイズするしてブランドに合わせる

3. コード/実装

Djangoアプリでは、パスワードリセットフォームを提供することがあります。ユーザーがリセットを要求したときは、Parseのパスワードリセットエンドポイントを呼び出すか、SDKでサポートされている場合は適切なPythonメソッドを呼び出します。

ステップ8 – クラウドジョブによるタスクのスケジューリング

1. クラウドジョブの機能

クラウドジョブを使用すると、古いデータのクリーンアップやレポートの生成などの自動化されたタスクを実行できます。これは、Djangoの crontabceleryワークフローを補完し、Back4Appの環境でタスクを集中管理します。

2. 例

JS


デプロイ後、毎日または毎週実行するように、Back4App DashboardServer Settings > Background Jobs でスケジュールします。

ステップ9 – Webhookの統合

1. 定義

Webhookを使用すると、Back4Appクラスで特定のイベントが発生したときに、外部サービスにHTTPリクエストを送信できます。たとえば、新しいレコードが作成されるたびにSlackチャンネルや決済サービスに通知します。

2. 設定

  1. ダッシュボードの More > WebHooks に移動します。
  2. 外部エンドポイントを設定します(例:DjangoプロジェクトのURL)。
  3. トリガーを定義します(「オブジェクト作成」など、Todo)。
Webhookの追加
Webhookの追加


3. 例

新しいTodoが作成されるたびに、POSTリクエストがDjangoアプリのエンドポイントに送信されます。Djangoでは、JSONデータを解析して処理します(例:ログ記録やさらなる処理)。

ステップ10 – Back4App管理パネルの探索

1. どこで見つけるか

Back4App Admin App」は、あなたのコンソールの「More > Admin App」の下にあります。これは、コードを書くことなくデータを管理するためのモデル中心のインターフェースです。

管理アプリを有効にする
管理アプリを有効にする


2. 機能

  • データベース: レコードを迅速に表示、編集、または削除します。
  • ログ: エラーやプロセスログを監視します。
  • バックグラウンドジョブ: クラウドジョブのスケジュールを管理します。
  • 分析とプッシュ: アプリに関連する場合、プッシュ通知と分析データにアクセスします。

これはDjangoの「管理インターフェース」に似ていますが、Parseバックエンドに焦点を当てています。

結論

このガイドに従うことで、Back4Appを使用してDjangoのバックエンドを構築する方法を学びました。あなたは:

  • Djangoアプリのための安全でスケーラブルなバックエンド構造を作成しました。
  • データモデルを設定し、CRUD操作を実行し、リアルタイム機能を活用しました。
  • 高レベルのセキュリティのためにACL、CLP、およびユーザー認証を実装しました。
  • ビジネスロジック、データ検証、および外部統合のためにCloud Codeを使用しました。
  • ファイルを保存し、Cloud Jobsをスケジュールし、高度なワークフローのためにWebhooksを設定しました。
  • データを効果的に管理するためにBack4App Admin Appを探索しました。

この基盤を持って、Djangoプロジェクトを自信を持って拡張できます。高度な機能を統合し、パフォーマンスを最適化し、エンタープライズレベルの要件を処理するためのカスタムロジックを追加してください。

Parse Python SDKを使って強力なWebアプリケーションを提供するために、引き続き実験を続けてください。コーディングを楽しんで!

次のステップ

  • 本番環境に適したDjangoアプリを構築する 高度なキャッシング、ユーザーロール、およびパフォーマンスの調整を行います。
  • より高度なBack4App機能を活用する 高度な分析や役割ベースのアクセス制御など。
  • 公式のBack4Appドキュメントから学ぶ ログ、リアルタイムクエリ、およびデータ最適化についての深い知識を得るために。
  • 他のチュートリアルを探索する Djangoの強力な「ビューとテンプレート」を外部APIと組み合わせる方法を確認するために。