Django は、Python 言語で書かれたオープンソースの Web アプリケーション フレームワークです。リリース以来、高品質の Web アプリケーションを開発するために推奨されるフレームワークの 1 つになりました。
この記事では、理論から実践までの完全なガイドを含め、Django の基本を紹介します。次の内容について説明します:
- Django の背景と開発の歴史
- Django の基本
- Django の MVC アーキテクチャと MTV アーキテクチャ
- Django のルーティングシステムとビュー
- Django のテンプレート システム
- Django のフォーム処理
- Django のデータベース アクセス
- Django のユーザー認証システム
- Django の Web サーバーと導入
- Django の背景と開発の歴史
Django は 2005 年に登場し、ニュース グループの編集者とプログラマーのグループによって作成されました。彼らは、大量の Web コンテンツを処理するためのフレームワークを作成しました。 Django の主な目標は、Web アプリケーションを開発するためのシンプルなフレームワークを提供することです。
Django プログラム フレームワークは、「期限のある完璧主義者のための Web フレームワーク」というよく知られた名前を持っています。これは、Django が高速、効率的、シンプル、安全、スケーラブルなどの開発標準を重視しているためです。
- Django の基本知識
Django は、プログラムをモデル、ビュー、コントローラーの 3 つの部分に分割する MVC 設計パターンに基づいています。これらのコンポーネントは、プログラムをデータ、ユーザー インターフェイス、ブリッジ部分に分割します。 Django は MVC を MTV アーキテクチャと呼び、テンプレート層を導入します。
Django コア コンポーネントには次のものが含まれます:
- ルーティング システム: URL アドレスをプログラム ビューにマッピングするために使用されます
- ビュー システム: フロントエンド ユーザーに表示されるテンプレートインターフェイス シリーズ
##ORM オブジェクト リレーショナル マッピング: データベース内のデータの管理に使用- ##ミドルウェア: リクエストを送信し、レスポンスを受信するミドルウェア クラスを拡張することによって
- #Django の MVC アーキテクチャと MTV アーキテクチャ
- MVC パターンの目標は、アプリケーションを 3 つのコンポーネント (モデル、ビュー、コントローラー) に分割することです。モデルはアプリケーションのデータ部分です。アプリケーション データのコンポーネントが含まれています。ビューはアプリケーションのユーザー インターフェイスの一部です。インターフェイスとデータ間の相互作用を担当します。コントローラーはMVCのブリッジです。モデルとビューを接続します。コントローラーは MVC のすべてのアプリケーション ロジックを処理します。
Django は MTV アーキテクチャを導入しました。 MTV では、モデルはデータを保存するデータベースの一部です。 Template レイヤーは MTV の View 部分です。 MTV では、View は論理部分であり、Python を使用して作成できます。ビューは特定の URL からのリクエストに応答し、データベースからデータを取得してテンプレートに組み立てるためのすべてのロジックを含みます。
簡単な MTV の例は、学生のリストを表すテンプレートとして見ることができます。データベースにはすべての学生に関する情報が保存されます。このビューはデータベースからデータを取得し、それをテンプレートに渡すため、ユーザーはすべての学生の情報を管理できます。
Django のルーティング システムとビュー
- Django のルーティング システムは、要求された URL アドレスを view 関数にマップします。 URL アドレスは、アプリケーションが表示する必要があるページの場所とビューを示す文字列です。
Django のルーティング システムを使用すると、標準の正規表現構文またはテンプレート ビューを使用して複雑なルーティングを処理できます。たとえば、次のタイプのルーティングを使用できます。
たとえば、次の行を urls.py ファイルに追加することで、URL /admin をビューにマップできます: admin_site.site.urls:
from django.contrib import admin
from django.conf.urls import url, include
admin.autodiscover()
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
Django のテンプレート システム
- Django のテンプレート システムを使用すると、開発者はテンプレートを使用して Web サイトでコードを効率的に構築できます。 Django テンプレート エンジンを使用すると、Python でロジックを記述する前に、テンプレートを HTML コードに完全に変換できます。
テンプレートの基本的な概念には次のものが含まれます:
テンプレート変数: 二重中括弧 {{}} で囲まれます。テンプレート変数は、レンダリング時に実際の値に置き換える必要があるプレースホルダーです。
テンプレート タグ: 中括弧 {% %} で囲まれています。テンプレート タグは、テンプレートのレンダリング方法を制御します。たとえば、{% if %} 括弧は、テンプレートで条件を使用するために使用されます。 - テンプレート フィルター: テンプレート変数で使用される修飾子。
-
- Django のフォーム処理
- Django のフォーム処理システムは、データベースへの入出力を処理する Web アプリケーションの一部です。 Django では、開発者はフォーム クラスを定義する必要があります。フォーム クラスは、ページ上でフォームがどのように表示されるかを定義します。この利点は、開発者がフォームの特定の詳細を理解できるようになり、アプリケーションのセキュリティと保守性が向上することです。
フォーム処理の主要なクラスは次のとおりです:
Form: フォームの各フィールドを定義します
ModelForm: モデルからフォームを自動的に作成します- FormView: フォームを処理し、テンプレートを表示します
-
- Django のデータベース アクセス
- Django ORM は、高度なオブジェクト リレーショナル マッピング フレームワークです。 ORM を使用すると、開発者は Python を使用してモデル クラスを作成し、それをデータベース テーブルにマッピングできます。 Django ORM は、モデルを通じてデータ構造を記述できるようにするデータ アクセス レイヤーを提供します。
ORM には、モデル定義とデータ操作という 2 つの主要な側面があります。モデル定義はアプリケーション内のエンティティを記述し、そのエンティティのプロパティを定義します。データ操作は、エンティティとデータベースに格納されているデータの間で変換を行うプロセスです。
ORM の主な機能は次のとおりです。
- Pythonic: Python のデータ型と構文ランドスケープの使用
- モデル中心: モデルは断然最も重要な部分です
- DRY: データ定義と操作を一緒に行う
- プラグイン: 複数の ORM とデータベースをサポート
- 広範なクエリ API: 複雑なクエリと接続を含む
- Django のユーザー認証システム
Django には、Web アプリケーションでユーザー認証を管理する標準的な方法であるユーザー認証システムが組み込まれています。ユーザー認証システムには次のものが含まれます。
- ユーザー名とパスワードの登録
- ログイン/ログアウト
- コンピューター側の検証とセッション セキュリティ
Django ユーザー認証システムには、次の認証バックエンドが組み込まれています:
- User
- PasswordResetToken
- EmailVerificationToken
- SocialAuthenticatio
- Django の Web サーバーとデプロイメント
実稼働環境では、Django は Apache や nginx などの成熟した Web サーバーを使用することをお勧めします。 Django は、Django と統合された軽量 Web サーバーである Gunicorn と呼ばれる Python WSGI HTTP サーバーも提供します。
次のコマンドを使用して Gunicorn サーバーを起動できます:
gunicorn myproject.wsgi: application -w 2 -b: 8000
Django は Fabric Deployment と呼ばれるメソッドも提供します。ツール。 Fabric を使用すると、Django 開発者は Django Web アプリケーションを簡単にセットアップしてデプロイできます。
概要
Django は、効率的、シンプル、高速、スケーラブルで安全な Web アプリケーション フレームワークです。 MTV アーキテクチャを採用し、ORM システムとユーザー認証システムを内蔵し、柔軟なテンプレート システムと強力なフォーム処理も提供します。
私たちのガイドでは基本を説明し、ルーティング システム、ビュー処理、データベース アクセス、フォーム処理、Web サーバー、デプロイメントなど、Django 開発の重要な側面を紹介します。この記事が Django プログラミングを始めるのに役立つことを願っています。
以上がDjango プログラミング: 理論から実践までの完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。