ホームページ > バックエンド開発 > Python チュートリアル > Django プログラミング: 理論から実践までの完全ガイド

Django プログラミング: 理論から実践までの完全ガイド

WBOY
リリース: 2023-06-23 10:18:38
オリジナル
1155 人が閲覧しました

Django は、Python 言語で書かれたオープンソースの Web アプリケーション フレームワークです。リリース以来、高品質の Web アプリケーションを開発するために推奨されるフレームワークの 1 つになりました。

この記事では、理論から実践までの完全なガイドを含め、Django の基本を紹介します。次の内容について説明します:

  1. Django の背景と開発の歴史
  2. Django の基本
  3. Django の MVC アーキテクチャと MTV アーキテクチャ
  4. Django のルーティングシステムとビュー
  5. Django のテンプレート システム
  6. Django のフォーム処理
  7. Django のデータベース アクセス
  8. Django のユーザー認証システム
  9. Django の Web サーバーと導入
  10. Django の背景と開発の歴史

Django は 2005 年に登場し、ニュース グループの編集者とプログラマーのグループによって作成されました。彼らは、大量の Web コンテンツを処理するためのフレームワークを作成しました。 Django の主な目標は、Web アプリケーションを開発するためのシンプルなフレームワークを提供することです。

Django プログラム フレームワークは、「期限のある完璧主義者のための Web フレームワーク」というよく知られた名前を持っています。これは、Django が高速、効率的、シンプル、安全、スケーラブルなどの開発標準を重視しているためです。

  1. Django の基本知識

Django は、プログラムをモデル、ビュー、コントローラーの 3 つの部分に分割する MVC 設計パターンに基づいています。これらのコンポーネントは、プログラムをデータ、ユーザー インターフェイス、ブリッジ部分に分割します。 Django は MVC を MTV アーキテクチャと呼び、テンプレート層を導入します。

Django コア コンポーネントには次のものが含まれます:

  • ルーティング システム: URL アドレスをプログラム ビューにマッピングするために使用されます
  • ビュー システム: フロントエンド ユーザーに表示されるテンプレートインターフェイス シリーズ
  • ##ORM オブジェクト リレーショナル マッピング: データベース内のデータの管理に使用
  • ##ミドルウェア: リクエストを送信し、レスポンスを受信するミドルウェア クラスを拡張することによって
  • #Django の MVC アーキテクチャと MTV アーキテクチャ
  1. MVC パターンの目標は、アプリケーションを 3 つのコンポーネント (モデル、ビュー、コントローラー) に分割することです。モデルはアプリケーションのデータ部分です。アプリケーション データのコンポーネントが含まれています。ビューはアプリケーションのユーザー インターフェイスの一部です。インターフェイスとデータ間の相互作用を担当します。コントローラーはMVCのブリッジです。モデルとビューを接続します。コントローラーは MVC のすべてのアプリケーション ロジックを処理します。
Django は MTV アーキテクチャを導入しました。 MTV では、モデルはデータを保存するデータベースの一部です。 Template レイヤーは MTV の View 部分です。 MTV では、View は論理部分であり、Python を使用して作成できます。ビューは特定の URL からのリクエストに応答し、データベースからデータを取得してテンプレートに組み立てるためのすべてのロジックを含みます。

簡単な MTV の例は、学生のリストを表すテンプレートとして見ることができます。データベースにはすべての学生に関する情報が保存されます。このビューはデータベースからデータを取得し、それをテンプレートに渡すため、ユーザーはすべての学生の情報を管理できます。

Django のルーティング システムとビュー

  1. 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 のテンプレート システム

  1. Django のテンプレート システムを使用すると、開発者はテンプレートを使用して Web サイトでコードを効率的に構築できます。 Django テンプレート エンジンを使用すると、Python でロジックを記述する前に、テンプレートを HTML コードに完全に変換できます。
テンプレートの基本的な概念には次のものが含まれます:

テンプレート変数: 二重中括弧 {{}} で囲まれます。テンプレート変数は、レンダリング時に実際の値に置き換える必要があるプレースホルダーです。

    テンプレート タグ: 中括弧 {% %} で囲まれています。テンプレート タグは、テンプレートのレンダリング方法を制御します。たとえば、{% if %} 括弧は、テンプレートで条件を使用するために使用されます。
  • テンプレート フィルター: テンプレート変数で使用される修飾子。
  • Django のフォーム処理
  1. Django のフォーム処理システムは、データベースへの入出力を処理する Web アプリケーションの一部です。 Django では、開発者はフォーム クラスを定義する必要があります。フォーム クラスは、ページ上でフォームがどのように表示されるかを定義します。この利点は、開発者がフォームの特定の詳細を理解できるようになり、アプリケーションのセキュリティと保守性が向上することです。
フォーム処理の主要なクラスは次のとおりです:

Form: フォームの各フィールドを定義します

    ModelForm: モデルからフォームを自動的に作成します
  • FormView: フォームを処理し、テンプレートを表示します
  • Django のデータベース アクセス
  1. Django ORM は、高度なオブジェクト リレーショナル マッピング フレームワークです。 ORM を使用すると、開発者は Python を使用してモデル クラスを作成し、それをデータベース テーブルにマッピングできます。 Django ORM は、モデルを通じてデータ構造を記述できるようにするデータ アクセス レイヤーを提供します。
ORM には、モデル定義とデータ操作という 2 つの主要な側面があります。モデル定義はアプリケーション内のエンティティを記述し、そのエンティティのプロパティを定義します。データ操作は、エンティティとデータベースに格納されているデータの間で変換を行うプロセスです。

ORM の主な機能は次のとおりです。

  • Pythonic: Python のデータ型と構文ランドスケープの使用
  • モデル中心: モデルは断然最も重要な部分です
  • DRY: データ定義と操作を一緒に行う
  • プラグイン: 複数の ORM とデータベースをサポート
  • 広範なクエリ API: 複雑なクエリと接続を含む
  1. Django のユーザー認証システム

Django には、Web アプリケーションでユーザー認証を管理する標準的な方法であるユーザー認証システムが組み込まれています。ユーザー認証システムには次のものが含まれます。

  • ユーザー名とパスワードの登録
  • ログイン/ログアウト
  • コンピューター側の検証とセッション セキュリティ

Django ユーザー認証システムには、次の認証バックエンドが組み込まれています:

  • User
  • PasswordResetToken
  • EmailVerificationToken
  • SocialAuthenticatio
  1. 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート