Djangoアーキテクチャ:MVTフレームワークの作業システムの説明

公開: 2020-12-23

目次

序章

Djangoは、Python言語で記述された最も簡単で効率的なWebアプリケーションフレームワークの1つです。 このフレームワークは無料でオープンソースであるため、Webサイトのバックエンドを開発するためのPHPやサーブレットなどの使用に大きく取って代わりました。 2005年7月15日にDjangoSoftwareFoundationによって開発されました。

Djangoは、複雑なWeb開発フレームワークに取り組んでいる開発者にデータベースの作成が容易であるという比類のない利点を提供します。 さらに、Djangoは最速のデータフローの1つを提供し、セキュリティが危険にさらされないようにします。

Djangoのアーキテクチャは、以下で説明するように、主にMVTフレームワークに従います。

  • M:モデル
  • V:表示
  • T:テンプレート

MVTは、モデル、ビュー、およびコントローラーで構成されるMVCフレームワークの代替と見なすことができます。 MVTとMVCの主な違いは、DjangoアーキテクチャがMVCアーキテクチャのコントローラー部分によって処理される責任を処理することです。 Djangoはそのテンプレートを利用して、コントローラーに関連するすべてのタスクを実行します。簡単に言うと、テンプレートには、Djangoテンプレート言語(DTLとも呼ばれます)とHTML(ハイパーテキストマークアップ言語)の融合であるコンテンツが含まれています。

上記で紹介したように、テンプレートは、アプリケーションのアーキテクチャ関連のアクティビティとともに、UI関連のすべてのアクションとカスタマイズを担当します。 テンプレートの下には、「表示」があります。 ビューは、アプリケーションの論理処理および意思決定アクティビティのコマンドを受け取り、「モデル」と通信してそれぞれのデータポイントをフェッチし、それに応じて必要に応じてテンプレートを変更します。

上で説明したように、Django自体は、アプリケーションのビュー部分に接続されているURLをフェッチし、最終的にそれぞれのユーザー応答をアプリケーションに送信するコントローラーとして機能します。 これは、DjangoMVTアーキテクチャ内で発生する全体的な相互作用です。

必読: GithubのDjangoプロジェクト

モデル

Djangoでは、モデルはアーキテクチャ全体をデータベースにリンクするという重要な役割を果たします。 このプロセス全体で、すべてのモデルがデータベース内の単一のテーブルに接続されます。 このプロセスに関連するメソッドとフィールドは、一般にmodels.pyとして定義されている別のファイルで宣言されています。

リンクプロセスが完了し、すべてがデータベースに接続されると、すべての行を評価できるようになります。より正確には、それぞれのテーブルから記録し、それに応じてテーブルに対してさまざまなDML操作を実行することもできます。

Django.db.modelsは、この場合に使用されているサブクラスです。 Pythonのデフォルトのインポート関数を「django.dbインポートモデルから」として使用できます。

データベースの列、テーブル、およびレコードを定義した後、settings.pyでマッピングに言及することにより、アプリケーションに接続されているデータをフェッチします。

意見

データフローフレームワークの全体的なロジックは、モデルのこの部分で定義されます。 コード全体はviews.pyファイルで定義されています。

ビューファイルのもう1つのタスクは、アプリケーションが使用されるたびに、それぞれのユーザーに応答を送信することです。 簡単に言えば、view.pyがHttpResponseを処理できると簡単に断言できます。

ビューファイルが作成されたときに頭に浮かぶ次の質問は、このファイルをアプリケーションにリンクする方法です。 フレームワークが特定のビューをいつ表示するかを確実に理解するにはどうすればよいですか? この理解は、views.pyを別のurls.pyファイルにマッピングすることで確立できます。 上で説明したように、urls.pyは、すべての個別のページを追跡し、各ページをマップする役割を果たします。

テンプレート

複雑な操作や機能のための動的なWebサイトを作成する場合は常に、テンプレートを使用して簡単にそれを実現できます。 簡単に言うと、動的Webサイトは、動的データまたは変化するデータを送受信します。 動的データは通常、すべてのユーザーに自分のパーソナライズされたデータが表示されるシナリオに関連付けられています。 たとえば、Facebook、Instagram、TwitterなどのソーシャルメディアWebサイトへの投稿や、フィンテック製品などのさまざまなトランザクションなどです。

テンプレートは、INSTALLED_APPSの下にあるsettings.pyファイルで設定されます。 したがって、Pythonコードは、テンプレートサブディレクトリの下にある関連ファイルを検索するだけです。 これを行うには2つのオプションがあります。HTMLファイルを生成するか、ブラウザを介して動的Webページをインポートし、それぞれのテンプレートフォルダに保存することができます。

応答を取得するために、このファイルをurls.pyとviews.pyにリンクします。 すべてのリンクプロセスが完了したら、Webサイトを稼働させることができます。

これらの線に沿って、これがDjangoの仕組みです。 主なPythonレコードは、ページがsettings.py、view.py、およびurls.pyであることを示すために相互にインターフェイスするために使用されます

ここで私たちの論理的根拠を個別に特徴づけると、データベースを接続し、クライアントのデータソースと反応を取得し、動的なページを表示するワークプロセスを持つことができます。 Djangoをさらに深く掘り下げたい場合は、ドキュメントを見て、それらの間の関係を理解し​​てください。

また読む: PythonDjangoプロジェクトのアイデア

世界のトップ大学のソフトウェアエンジニアリングコースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

Djangoフレームワークの概要を気に入っていただけたと思います。 この記事に関するお問い合わせや推奨事項がある場合は、下のコメントセクションからお知らせください。 私たちはあなたの熟考を聞いてみたいです。

Djangoやその他のフルスタックエンジニアリングツールやフレームワークの研究に興味がある場合は、upGradとIIIT-Bのフルスタックソフトウェア開発におけるエグゼクティブPGプログラムをご覧ください。これは、専門家の作業を対象としており、500以上の長期にわたる徹底的な準備を提供します。 、9以上のベンチャーとタスク、IIIT-B卒業生のステータス、合理的なアクティブなキャップストーンベンチャー、および雇用はトップ企業を支援します。

未来のキャリアに備える

ソフトウェアエンジニアリングの修士号を今すぐ申し込む