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.py
、views.py
、tests.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 アプリケーションを簡単に構築できます。