Django の基礎を理解する

王林
王林オリジナル
2024-07-26 11:15:21448ブラウズ

Understanding Django Fundamentals

前のブログでは、開発環境をセットアップし、基本的な Django プロジェクトとアプリを作成しました。ここで、プロジェクト構造、Model-View-Template (MVT) アーキテクチャ、Django 管理インターフェイスなど、Django の基本的な側面をさらに深く掘り下げてみましょう。この投稿を終えるまでに、これらの概念をしっかりと理解し、簡単なブログ アプリケーションを作成する準備ができているはずです。

概要

このブログでは、プロジェクト構造、MVT アーキテクチャ、Django 管理インターフェイスなど、Django の基本的な側面を詳しく掘り下げます。

取り上げられるトピック

  • Django プロジェクトの構造
  • モデル、ビュー、およびテンプレート (MVT)
  • Django 管理者

目的

  • MVT アーキテクチャを理解する
  • Django でモデル、ビュー、テンプレートを作成する
  • Django 管理インターフェイスを使用する

Django プロジェクトの構造

Django のプロジェクト構造を理解することは、コードを効果的に操作して整理するために重要です。新しい Django プロジェクトとアプリを作成すると、次のディレクトリ構造が生成されます:

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
        asgi.py
    blog/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
        migrations/

  • manage.py: Django プロジェクトの管理に役立つコマンドライン ユーティリティ。
  • myproject/: 設定と構成を含むメイン プロジェクト ディレクトリ。
  • settings.py: プロジェクトの構成設定。
  • urls.py: プロジェクトの URL 宣言。
  • wsgi.py および asgi.py: WSGI/ASGI 互換 Web サーバーのエントリ ポイント。
  • blog/: アプリケーション固有のファイルを含む Django アプリ ディレクトリ。

モデル、ビュー、およびテンプレート (MVT)

Django は、MVC パターンのバリエーションであるモデル-ビュー-テンプレート (MVT) アーキテクチャに従っています。このアーキテクチャは、懸念事項の明確な分離を促進し、コードをより組織化して保守しやすくします。

モデル

モデルはデータベース テーブルの構造を定義します。各モデルは、django.db.models.Model をサブクラス化する Python クラスです。

# blog/models.py

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

ビュー

ビューは、アプリケーションのロジックとデータ処理を処理します。これらはリクエストを受け取り、モデルと対話し、レスポンスを返します。

# blog/views.py

from django.shortcuts import render
from .models import Post

def home(request):
    posts = Post.objects.all()
    return render(request, 'blog/home.html', {'posts': posts})

テンプレート

テンプレートは、Web ページの HTML 構造とプレゼンテーションを定義します。 Django テンプレート タグとフィルターを使用して、動的コンテンツを含めることができます。

<!-- blog/templates/blog/home.html -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.content }}</p>
        <p>Published on: {{ post.published_date }}</p>
    {% endfor %}
</body>
</html>

URL設定

URL をビューにマップするには、URL パターンを urls.py で構成する必要があります。

# myproject/urls.py

from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
]

ジャンゴ管理者

Django 管理インターフェイスは、追加のコードを記述せずにアプリケーションのデータを管理できる強力なツールです。モデルに合わせてユーザーフレンドリーなインターフェイスを自動的に生成します。

Django 管理者のセットアップ

  • モデルの登録: モデルを管理サイトに登録して、管理インターフェイスで使用できるようにします。
# blog/admin.py

from django.contrib import admin
from .models import Post

admin.site.register(Post)

  • スーパーユーザーの作成: 管理インターフェースにアクセスするためのスーパーユーザーを作成します。
python manage.py createsuperuser

  • 管理インターフェースにアクセスします: 開発サーバーを起動し、http://127.0.0.1:8000/admin/ に移動します。データを管理するには、スーパーユーザーの認証情報を使用してログインします。

結論

これは、Django でアプリケーションを作成するプロセスの概要です。シリーズの次のパートにご期待ください。ここでは、学んだことを応用して簡単なブログ アプリケーションを作成します。

以上がDjango の基礎を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。