Django は、Web 開発の MTV (Model-Template-View) パターンに従います。各コンポーネントの内訳は次のとおりです:
モデル: データ構造を定義し、データベースとの対話を処理することで、SQL クエリを手動で作成せずにデータの保存と取得を可能にします。
テンプレート: HTML のレンダリングとユーザーへのデータの表示を担当します。動的コンテンツを表示するには、Django テンプレート言語 (DTL) と混合した HTML を作成します。
ビュー: ビジネス ロジック層として機能します。モデルとテンプレートを接続し、ユーザーのリクエストを処理し、モデルと対話して、応答 (多くの場合、テンプレートからレンダリングされた HTML) を返します。
Django のリクエストとレスポンスのサイクルの仕組み:
ステップ 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 コードを追加します
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hello Template</title> </head> <body> <h1>Hello, {{ name }}!</h1> </body> </html>
学習 URL に再度アクセスすると、「Hello, Django!」と表示されるはずです。ブラウザで。
ステップ 7: 基本モデルを作成する.
ブログ投稿を保存するための単純な Post モデルを作成しましょう。
core/models.py に次のコードを追加します:
cd mysite python3 manage.py startapp core
このポストモデルには、タイトルとコンテンツという 2 つのフィールドがあります。 __str__ メソッドは、Django 管理者またはシェルで Post オブジェクトがタイトルとともに表示されるようにします
ステップ 8: モデルをデータベースに適用する.
データベースに対応するテーブルを作成するには、次のコマンドを実行します:
. ├── 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
Django は Post モデルのデータベース テーブルを作成します。
これらの手順に従うことで、モデル、ビュー、テンプレートを備えた基本的な Django アプリが正常に作成されました。ユーザー入力の処理、デザインの改善、アプリのインタラクティブ化などの機能を追加することで、この基盤を拡張できるようになりました。
以上がDjango のアーキテクチャを理解する: MTV パターン。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。