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

Django の基礎を理解する

2024 年 7 月 31 日に公開
ブラウズ:261

Understanding Django Fundamentals

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

概要

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

取り上げられるトピック

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

目的

  • 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 Home

Blog Posts

{% for post in posts %}

{{ post.title }}

{{ post.content }}

Published on: {{ post.published_date }}

{% endfor %}

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

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

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

Copyright© 2022 湘ICP备2022001581号-3