Django は、高性能、保守性、スケーラブルな Web アプリケーションの開発に広く使用されている人気の Web フレームワークです。 Django は、開発者がアプリケーションを迅速に構築できるように、多くのコア機能を提供します。この記事では、Django フレームワークのコア機能と機能を詳細に分析し、具体的なコード例を示します。
Django の ORM (オブジェクト リレーショナル マッピング) は、その最も重要な機能の 1 つです。 ORM はデータベース テーブルを Python オブジェクトにマッピングするプロセスであり、これによりプログラム開発者は SQL ステートメントの代わりにデータベース オブジェクトを通じてデータベースを操作できるようになります。 Django の ORM は、SQLite、MySQL、PostgreSQL などのさまざまなデータベースをサポートしています。 Django ORM の例を次に示します。
from django.db import models class Author(models.Model): name = models.CharField(max_length=100) email = models.EmailField() class Article(models.Model): title = models.CharField(max_length=200) author = models.ForeignKey(Author, on_delete=models.CASCADE) pub_date = models.DateTimeField(auto_now_add=True) content = models.TextField()
上記のコード例では、データベースにデータを保存する 2 つの Django モデル (Author と Article) を定義しました。 Article モデルでは、ForeignKey を使用して Author モデルとの 1 対多の関係を表します。この ORM モデルにより、開発者はデータベース レコードの追加、変更、削除、クエリを非常に簡単に行うことができます。
Django の核となる概念は「MTV」(モデル、テンプレート、ビュー) です。ビューはリクエストとレスポンスの間のブリッジであり、リクエスト内のデータをチェックし、レスポンスに基づいて適切な HTTP レスポンスを返します。 Django では、ビュー関数を使用してこの機能を実現できます。以下は、Django ビュー関数の例です。
from django.shortcuts import render from django.http import HttpResponse def hello(request): return HttpResponse("Hello World!")
上の例では、単純な HTTP 応答を返す hello という名前のビュー関数を定義しました。ただし、ブラウザでアクセスできるように、このビューを URL にマップする方法を知る必要があります。 Django は、URL とビューの間のマッピング関係を確立できる URLconf システムを提供します。以下は、Django URLconf テンプレートの例です。
from django.urls import path from . import views urlpatterns = [ path('hello', views.hello, name='hello'), ]
上の例では、path 関数を使用して、URL パターンとビュー関数のマッピングを定義します。この例では、/hello URL をビュー関数 hello にマップします。
テンプレートは、Django のもう 1 つの中心的な概念であり、動的データを HTML ページにレンダリングできます。 Django のテンプレート システムはカスタム マークアップ言語を使用しているため、動的な Web ページを簡単に構築できます。 Django テンプレートの例を次に示します。
<!DOCTYPE html> <html> <head> <title>{% block title %}Default Title{% endblock %}</title> </head> <body> {% block content %} <p>This is the default content.</p> {% endblock %} </body> </html>
上記の例では、基本的な HTML テンプレートを定義し、{% block ... %}{% endblock %} タグを使用して再利用可能な部分を定義します。この種のマークアップを使用すると、異なるページで同じ HTML テンプレートを使用し、その中のコンテンツのみを置き換えることができます。
Django は、Web 開発の基本部分である HTML フォームを操作する便利な方法も提供します。 Django フォームは、Django ORM と同じ設計アプローチに従い、HTTP POST リクエストを Python オブジェクトに変換します。以下は Django フォームの例です:
from django import forms class ContactForm(forms.Form): name = forms.CharField(label='Your Name', max_length=100) email = forms.EmailField(label='Your Email', max_length=100) message = forms.CharField(widget=forms.Textarea)
上の例では、ContactForm というフォーム クラスを定義し、そこに含まれるフィールドとその型を定義しました。 Django は、送信されたデータが有効で安全であることを確認するための組み込みのフォーム検証機能とセキュリティ機能も提供します。
結論
Django は、Web アプリケーション開発を簡単かつ迅速に行うためのさまざまな機能とツールを提供する強力な Web フレームワークです。この記事では、Django の主要な特徴と機能について詳しく説明し、いくつかのコード例を示します。この記事が Django フレームワークの理解と使用に役立つことを願っています。
以上がDjango フレームワークのコア機能と機能の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。