初心者向けの Django チュートリアル: 機能、 Archi構造と歴史

Django チュートリアルの概要

この Django チュートリアルでは、基本的なトピックをすべて最初から説明します。 このチュートリアルでは、Django とは何か、Django の歴史、Django の機能、Django フレームワークの特徴、Django のコンポーネント、長所と短所などの概念を学びます。
Django を学習する前に、次のことを理解しましょう。

Web フレームワークとは何ですか?

Web フレームワークは、柔軟でスケーラブルで保守可能な Web フレームワークを構築するのに役立つコード ライブラリです。 動的な Web サイト、Web アプリ、および Web サービス。 PHP には Zend などのさまざまな Web フレームワークがあり、 Ruby on Rails ルビーなどの場合

Djangoとは何ですか?

ジャンゴ は、高速かつ効果的な Web サイト開発のための標準的な方法を提供する Python 用の Web 開発フレームワークです。 この高レベルの Web フレームワークの主な目標は、com を作成することです。plex データベース主導の Web サイト。 高品質の Web アプリケーションを構築および維持するのに役立ちます。 これにより、開発プロセスをスムーズにし、時間を節約し、迅速な開発を実現できます。

なぜジャンゴなのか? Django の主な利点

Django の主な利点は次のとおりです。

  • Django はセットアップと実行が簡単です。 始めるためのさまざまなオプションを提供します
  • 管理アクティビティ用にすぐに使用できるユーザー インターフェイスを提供します。
  • 内蔵の国際化システムを使用して、Web サイトの多言語化を可能にします。
  • 大量のトラフィック需要に迅速に対応できるようにします
  • Django は、あらゆる種類のコンテンツ管理システム、ソーシャル ネットワーク、科学計算プラットフォームの構築に使用されます。
  • Django は、エンドツーエンドのアプリケーション テストの提供に役立ちます
  • HTML 出力を使用して API を文書化するのに役立ちます
  • REST フレームワークは、いくつかの認証プロトコルを豊富にサポートしています
  • 権限とスロットルポリシー
  • これは、単一ユーザーからの API リクエストのレート制限に広く使用されています。

ジャンゴの歴史

マイルストーン
2003 このプロジェクトは、Lawrence Journal-World 新聞の内部プロジェクトとして、Adian Holovaty と Simon Willison によって開始されました。
2005 年XNUMX月 ジャズギタリストのジャンゴ・ラインハルトにちなんで「ジャンゴ」として2005年XNUMX月に発売されました。
2008年六月 Django ソフトウェアであると宣言されました Foundation (DSF) は Django を維持します。
2018年7月19日 Django 1.1 バージョンは、集計やトランザクションベースのテストなどの機能を備えてリリースされました。
2019年5月29日 Django 1.2 バージョンがリリースされました。 このアップデートでは、複数のデータベース、電子メールの実装などの機能が提供されました。mail このバージョンでは、バックエンドとセッションと Cookie の改善が行われています。
月23 2011 クラスベースのビュー、静的ファイルなどの機能を備えた 1.3 バージョンが導入されました
月23 2012 タイムゾーンやブラウザ内テストなどの新機能を備えた 1.4 バージョンがリリースされました
2月26 2013 1.5 バージョンには、Python 3 サポート、構成可能なユーザー モデル機能が付属しています。
6月2013日 1.6 バージョンには DB トランザクション管理、接続が付属しています poolingの特徴。
2 9月2014 1.7 バージョンには、アプリケーションのロード、移行、構成などの新機能がありました
4月1 2015 複数のテンプレート エンジンに対してネイティブ サポートが提供されます。
1 Dec 2015 1.9 バージョンでは、自動パスワード検証機能が導入されました。
8月1 2016 バージョン 1.10 では、PostgreSQL の全文検索が開始されました。
4月4 2017 1.11 バージョンは Python 2.7 をサポートする最後のバージョンになります
2 Dec 2017 バージョン 2.0 は、最初の Python 3 のみのリリース バージョンになります。
8月1 2018 バージョン 2.1 には、モデルの「表示」権限サポート機能が付属しています。
2021 Django 3.0 のサポートを削除し、Django 3.2 のサポートを追加しました

この初心者向け Django チュートリアルでは、Django の機能について学びましょう。

Djangoの機能

Django の特徴は次のとおりです。

  • アプリケーション内の URL のパターンを定義するのに役立ちます
  • シンプルだが強力な URL システム
  • 内蔵認証システム
  • クラス最高のデータ保存と検索を提供するオブジェクト指向プログラミング言語データベース
  • 自動管理インターフェイス機能により、項目の追加、編集、削除の機能が可能になります。 必要に応じて管理パネルをカスタマイズできます。
  • キャッシュ フレームワークには、複数のキャッシュ メカニズムが付属しています。

この Django フレームワーク チュートリアルでは、Django の特性について学びます。

ジャンゴの特徴

Django の主な特徴は次のとおりです。

  • 疎結合 - Django は、スタックの各要素を他の要素から独立させるのに役立ちます。
  • コードの削減 - 効率的な開発を保証します
  • 繰り返さない - すべてを再度繰り返すのではなく、正確に XNUMX か所で開発する必要があります
  • 迅速な開発 - Django は、迅速かつ信頼性の高いアプリケーション開発を提供します。
  • 一貫した設計 - Django はクリーンな設計を維持し、Web 開発のベストプラクティスに簡単に従うことができます。

次に、この Django 初心者向けチュートリアルで、 archiジャンゴの構造。

ジャンゴ Archi構造: MVC と MVT

以下、詳細です archiジャンゴの構造:

ジャンゴ Archi構造
ジャンゴ Archi構造

MVCパターン

UI (Web またはデスクトップ) を提供するアプリケーションについて話すとき、通常は MVC について話します。 archi構造。 MVC パターンはモデル、ビュー、コントローラーに基づいています。

最大XNUMXWの出力を提供する モデル データ構造を定義し、データベースへのクエリを処理します。

最大XNUMXWの出力を提供する View どのデータを提示するかを定義し、HTTP 応答を返します。

最大XNUMXWの出力を提供する コントローラー ユーザー対話を処理するアプリケーションの一部です。

Django MVC-MVT パターン

モデル ビュー テンプレート (MVT) は、MVC とは異なる概念です。これら 2 つの主な違い archi構造パターンは、Django 自体がコントローラー部分 (モデルとビューの間の対話を制御するソフトウェア コード) を管理することです。テンプレートは、DTL とも呼ばれる Django テンプレート言語ファイルと混合された HTML ファイルです。

以下の図は、MVT パターンのすべてのコンポーネントがどのように相互作用してユーザー リクエストに固有のサービスを提供するかを示しています。

ジャンゴ Archi構造: MVC と MVT

MVT Archi構造

上の図にあるように、ユーザーは Django にリソースをリクエストします。 Django はコントローラーとして機能し、URL 内の使用可能なリソースをチェックします。

URL マップの場合、モデルとテンプレートと対話するビューが呼び出されます。 その後、Django はユーザーに応答し、応答としてテンプレートを送信します。

この初心者向け Django チュートリアル シリーズでは、Django のコンポーネントについて学びます。

Django のコンポーネント

フォーム

Django には、フォームのレンダリングを HTML として処理する強力なフォーム ライブラリがあります。 このライブラリは、送信されたデータを検証し、Python 型に変換するのに役立ちます。

認証

ユーザーアカウント、グループ、Cookieベースのユーザーセッションなどを処理します。

モデル内のメタデータを読み取り、サイト上のコンテンツを管理するために使用できる堅牢なインターフェイスを提供します。

国際化

Django は、テキストのさまざまな言語への翻訳、日付、時刻、数値、タイムゾーンのロケール固有の書式設定のサポートを提供します。

セキュリティ

Django はフォローに対する安全策を提供しますwing 攻撃:

  • クロスサイトリクエストフォージェリ(CSRF)
  • クロスサイトスクリプティング
  • SQLインジェクション
  • クリックジャッキング
  • リモートコード実行

Djangoを使用している有名企業

Django を使用している企業は次のとおりです。

  • BitBucket
  • 分遅れ
  • 米航空宇宙局(NASA)
  • PBS (公共放送サービス)
  • Pinterest
  • Instagram
  • モジラ
  • ワシントン・ポスト
  • NYタイムズ
  • LAタイムズ
  • ガーディアン・ナショナル・ジオグラフィック紙
  • ディスカバリーチャンネル

Django を使用するデメリット

  • プロセスは複数のリクエストを同時に処理できませんneo普通に。
  • Django は非常にモノリシックなツールです。
  • コンポーネントが一緒にデプロイされるため、混乱が生じる可能性があります。
  • Django で作業するために必要な完全なシステムの知識
  • Web アプリケーションのコンポーネントを密結合にする
  • 軽微なタスクについては、長時間のプログラミングを行う必要があります。

まとめ

  • Django は、次の Web 開発フレームワークです。 Python これは、迅速かつ効果的な Web サイト開発のための標準的な方法を提供します。
  • Django は、2003 年にローレンス ジャーナル ワールド新聞の内部プロジェクトとして Adian Holovaty と Simon Willison によって開始されました。
  • Django は、HTML 出力を使用して API を文書化するのに役立ちます。
  • Django では、必要に応じて管理パネルをカスタマイズできます。
  • Django は、スタックの各要素を他の要素から独立させるのに役立ちます。
  • MVCとMVTの主な違い archi構造パターンとしては、Django 自体がコントローラー部分を管理します。
  • Django の必須コンポーネント archi構造は次のとおりです: フォーム、認証、管理、国際化、セキュリティ。
  • Bitbucket、DISQUS、Nasa、Pinterest、Instagram、Mozilla などは Django を使用しています
  • Django の最大の欠点は、複数のリクエストを同時に処理できないことです。neo普通に。