「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Django のアーキテクチャを理解する: MTV パターン。

Django のアーキテクチャを理解する: MTV パターン。

2024 年 11 月 2 日に公開
ブラウズ:378

Understanding Django’s Architecture: The MTV Pattern.

Django は、Web 開発用の MTV (Model-Template-View) パターンに従います。各コンポーネントの内訳は次のとおりです:

モデル: データ構造を定義し、データベースとの対話を処理することで、SQL クエリを手動で記述せずにデータを保存および取得できるようにします。

テンプレート: HTML のレンダリングとユーザーへのデータの表示を担当します。動的コンテンツを表示するには、Django テンプレート言語 (DTL) と混合した HTML を作成します。

View: ビジネス ロジック層として機能します。モデルとテンプレートを接続し、ユーザーのリクエストを処理し、モデルと対話して、応答 (多くの場合、テンプレートからレンダリングされた HTML) を返します。

Django のリクエストとレスポンスのサイクルの仕組み:

  • ユーザーが (URL 経由で) Web ページをリクエストします。
  • Django は URL をビューに照合します。
  • ビューはモデルからデータを取得し、それをテンプレートに渡します。
  • テンプレートはデータを HTML にレンダリングし、応答としてユーザーに送り返します。

ステップ 1: Django で新しいアプリを作成する.
(前の記事で説明したように) Django をセットアップしたら、プロジェクトに新しいアプリを作成しましょう。

次のコマンドを実行します:

cd mysite
python3 manage.py startapp core

これにより、mysite プロジェクト内に core という名前のアプリが作成されます。ファイル構造は次のようになります:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

ステップ 2: アプリを設定ファイルに登録します.
Django に新しいアプリを認識させるには、mysite/settings.py:
の INSTALLED_APPS にそのアプリを追加する必要があります。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',  # add this line
]

ステップ 3: 基本ビューを作成する.
「Hello, World!」を返す単純なビューを作成してみましょう。メッセージ。

コアアプリ内でviews.pyを開き、次のコードを追加します:

from django.http import HttpResponse

def learn(request):
    return HttpResponse("Hello, World!")

ステップ 4: URL をビューにマップする.
URL 経由でこのビューにアクセスするには、core/urls.py ファイルでマップする必要があります。このファイルが存在しない場合は作成し、次の内容を追加します:

from django.urls import path
from . import views

urlpatterns = [
    path('learn/', views.learn, name='learn'),
]

次に、メインの mysite/urls.py ファイルにコア アプリの URL を含めます:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('core/', include('core.urls')),  # include the core app URLs
]

ここで、サーバーを実行して http://127.0.0.1:8000/core/learn/ にアクセスすると、「Hello, World!」が表示されるはずです。
が表示されます。 ステップ 5: テンプレートを作成してレンダリングする

from django.shortcuts import render

def learn(request):
    context = {'name': 'Django'}
    return render(request, 'hello.html', context)

このビューは変数 (名前) を hello.html というテンプレートに渡すようになりました。
ステップ 6: テンプレート ディレクトリと HTML ファイルを作成する.
コア アプリで、テンプレート フォルダーと hello.html ファイルを作成します:

mkdir core/templates
touch core/templates/hello.html

hello.html 内に次の HTML コードを追加します



    
    
    Hello Template


    

Hello, {{ name }}!

再度学習 URL にアクセスすると、「Hello, Django!」と表示されるはずです。ブラウザで。

ステップ 7: 基本モデルを作成する.
ブログ投稿を保存するための単純な Post モデルを作成しましょう。

core/models.py に次のコードを追加します:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def __str__(self):
        return self.title

このポストモデルには、タイトルとコンテンツという 2 つのフィールドがあります。 __str__ メソッドは、Django 管理またはシェル

で Post オブジェクトがタイトルとともに表示されるようにします。

ステップ 8: モデルをデータベースに適用する.
データベースに対応するテーブルを作成するには、次のコマンドを実行します:

python3 manage.py makemigrations
python3 manage.py migrate

Django は Post モデルのデータベース テーブルを作成します。

これらの手順に従うことで、モデル、ビュー、テンプレートを備えた基本的な Django アプリが正常に作成されました。ユーザー入力の処理、デザインの改善、アプリのインタラクティブ化などの機能を追加することで、この基盤を拡張できるようになりました。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/vincenttommi/2- Understanding-djangos-architecture-the-mtv-pattern-1gl?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3