Django の詳細: Python の Web アプリケーション フレームワーク

王林
リリース: 2024-01-19 10:24:05
オリジナル
1029 人が閲覧しました

Django の詳細: Python の Web アプリケーション フレームワーク

Django は、Python 言語で最も人気のある Web アプリケーション フレームワークの 1 つであり、その目的は、開発者が高品質で保守が容易な Web アプリケーションを迅速に構築できるようにすることです。 Web 開発をすばやく開始する方法を探している場合は、Django が最適です。

この記事では、Django の中心的な概念と機能のいくつかを検討し、Django がどのように機能するかをより深く理解できるように、いくつかの具体的なコード例を提供します。

Django フレームワークの中心的な概念:

1. ビュー

Django では、ビューはユーザーのリクエストを処理し、対応する応答を返す役割を果たします。ビュー関数は通常、HTTP リクエストをパラメータとして受け取り、HTTP 応答オブジェクトを返します。リクエストを直接処理してレスポンスを返すことも、レンダリングのためにリクエストをテンプレートに渡すこともできます。

以下は単純なビュー関数です:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello, World!")
ログイン後にコピー

この関数は、HTTP リクエストのすべての情報を保存する request という名前のパラメーターを受け取ります。文字列「Hello, World!」を含む HTTP 応答を返します。

このビュー関数を URL パターンに関連付けるには、Django アプリケーションの urls.py ファイルに URL パターンを作成する必要があります。サンプル コードは次のとおりです。

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello'),
]
ログイン後にコピー

この URL パターンは、/hello/ で終わるすべての URL と一致し、それらを hello view 関数に送信します。

2. モデル

Django では、モデルを使用してアプリケーションのデータ構造を定義します。これらはデータベースにアプリケーション データを保存する役割を果たし、データの読み取りと変更のための API を提供します。 Django はデフォルトで MySQL や SQLite などのリレーショナル データベース管理システムを使用しますが、他のデータベース モジュールも使用できます。

これは簡単なモデル定義です:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    published_date = models.DateField()

    def __str__(self):
        return self.title
ログイン後にコピー

このモデルは Book というモデルを定義し、各本のタイトル、著者、発行日を保存します。また、モデルの文字表現を返す __str__ メソッドも定義します。

このモデルを使用するには、Django アプリケーションでデータベース テーブルを作成する必要があります。これを行うには、ターミナルで次のコマンドを実行します。

$ python manage.py makemigrations
$ python manage.py migrate
ログイン後にコピー

これらのコマンドは、Book モデルに必要なデータベース テーブルを作成します。

3. テンプレート

Django では、テンプレートを使用して動的 HTML ページを生成します。これらは、いくつかの特別なタグと変数を含む HTML ファイルとして定義されます。 Django は、これらのタグと変数を実際のデータに置き換え、結果をユーザーのブラウザに返します。

これは簡単なテンプレートです:

{% extends "base.html" %}

{% block content %}
  <h1>{{ book.title }}</h1>
  <p>Author: {{ book.author }}</p>
  <p>Published on: {{ book.published_date }}</p>
{% endblock %}
ログイン後にコピー

このテンプレートは、Django のテンプレート言語を使用して本のタイトル、著者、発行日を表示します。また、base.html という基本テンプレートを継承し、content というブロックで実際のコンテンツを定義します。

テンプレートを使用するには、ビュー関数でデータをテンプレートに渡す必要があります。これは次の方法で実行できます。

from django.shortcuts import render
from .models import Book

def book_detail(request, book_id):
    book = Book.objects.get(id=book_id)
    return render(request, 'book_detail.html', {'book': book})
ログイン後にコピー

このビュー関数は、指定された ID を持つ書籍をデータベースから読み取り、このオブジェクトを book_detail.html テンプレートに渡します。

要約すると、Django は強力で使いやすい Web アプリケーション フレームワークです。高品質の Web アプリケーションの構築に役立つモデル、ビュー、テンプレートなどの多くの便利な機能を提供します。この記事では、Django の中心的な概念と機能のいくつかを紹介し、Django がどのように機能するかをよりよく理解するのに役立つ具体的なコード例をいくつか示します。

以上がDjango の詳細: Python の Web アプリケーション フレームワークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!