Django を使用した Python Web アプリケーションの構築

Django は、迅速な開発とクリーンで実用的な設計を促進する高レベルの Python Web フレームワークです。Web 開発の面倒な作業の多くを Django が処理するため、開発者は車輪の再発明をすることなく、アプリの作成に集中できます。この記事では、Django を使用して簡単な Web アプリケーションを構築する方法について説明します。

Django を使い始める

Django Web アプリケーションの構築を開始する前に、Django をインストールする必要があります。Python のパッケージ インストーラーである pip を使用して Django をインストールできます。

pip install django

Django をインストールしたら、ターミナルまたはコマンド プロンプトで次のコマンドを実行して、新しい Django プロジェクトを作成できます。

django-admin startproject myproject

このコマンドは、開始するために必要なファイルを含む myproject という新しいディレクトリを作成します。このディレクトリに移動します。

cd myproject

Django アプリケーションの作成

Django プロジェクト内で、特定の機能を処理する個別のアプリケーションを作成できます。たとえば、ユーザー認証用のアプリやブログ投稿用のアプリなどを作成できます。アプリを作成するには、次のコマンドを実行します。

python manage.py startapp myapp

これにより、myapp という新しいディレクトリが作成され、models.pyviews.pytests.py などのファイルが含まれます。このアプリ内でモデル、ビュー、テンプレートを定義します。

モデルの定義

Django モデルはデータの構造を定義し、Python クラスとして表されます。アプリ内の models.py ファイルで定義します。

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

モデルを定義したら、それらのデータベース テーブルを作成する必要があります。移行を適用するには、次のコマンドを実行します。

python manage.py makemigrations
python manage.py migrate

ビューとテンプレートの作成

Django ビューはアプリケーションのロジックを処理し、モデルと対話してテンプレートにデータをレンダリングします。シンプルなビューは、views.py ファイルで作成できます。

from django.shortcuts import render
from .models import BlogPost

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

上記のコードは、データベースからすべてのブログ投稿を取得し、それを home.html というテンプレートに渡します。 home.html テンプレートは、アプリ内の templates というディレクトリに保存されます。

<!DOCTYPE html>
<html>
<head>
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
    {% for post in posts %}
        <li>{{ post.title }} - {{ post.created_at }}</li>
    {% endfor %}
    </ul>
</body>
</html>

URL の設定

ビューを URL に接続するには、URL パターンを定義する必要があります。アプリ ディレクトリに urls.py という名前のファイルを作成し、次のコードを追加します。

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

次に、このアプリの URL パターンをメイン プロジェクトの urls.py ファイルに含めます。

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

開発サーバーの実行

モデル、ビュー、テンプレート、URL を設定したら、Django 開発サーバーを実行して、Web アプリケーションの動作を確認できます。

python manage.py runserver

Web ブラウザを開き、http://127.0.0.1:8000/ に移動して、Django Web アプリケーションが実行中であることを確認します。

結論

Django を使用すると、Python で強力で堅牢な Web アプリケーションを簡単に構築できます。このガイドでは、Django プロジェクトのセットアップ、アプリの作成、モデルの定義、ビューとテンプレートの作成、URL の構成、開発サーバーの実行の基本について説明しました。Django を使用すると、スケーラブルで保守しやすい Web アプリケーションを簡単に構築できます。