django について
このスキルは、Django 開発者向けに Web アプリや REST API の構築を案内します。プロジェクト設定、モデル、ビュー、テスト、デプロイに加え、Django REST Framework、管理画面、セキュリティ対策も扱います。
主な機能
- 01プロジェクトとアプリの作成
- 02モデル定義とマイグレーション
- 03ビューと URL ルートの構築
- 04Django REST Framework による REST API 構築
- 05管理画面、フォーム、認証の設定
- 06アプリのテストとデプロイ準備
活用シーン
- 01Django Web プロジェクトの立ち上げ
- 02REST API の開発
- 03管理画面と認証の設定
- 04Django アプリのテストとデプロイ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill djangoインストール後、Claude Code で/djangoを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txt
詳細
このスキルを使用する場面
ユーザーが次のことを希望する場合は、このスキルを使用してください。
- モデル、ビュー、テンプレートを使った Django ウェブアプリケーションの作成
- プロジェクト、アプリ、マイグレーション、デプロイの設定
- Django REST Framework を使った REST API の構築
- Django admin、フォーム、認証の設定
このスキルの使用方法
ワークフロー
- プロジェクトの作成 —
django-admin startprojectでひな形を作成します - アプリの追加 —
python manage.py startappで機能ごとのアプリを作成します - モデルの定義 — モデルを記述し、マイグレーションを作成して実行します
- ビューと URL の構築 — ビューを実装し、URL パターンを接続します
- テストとデプロイ — テストを実行し、本番環境の設定を構成します
クイックスタートの例
# models.py
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
published_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-published_at']
def __str__(self):
return self.title
# views.py
from django.shortcuts import render, get_object_or_404
from .models import Article
def article_list(request):
articles = Article.objects.all()
return render(request, 'articles/list.html', {'articles': articles})
def article_detail(request, pk):
article = get_object_or_404(Article, pk=pk)
return render(request, 'articles/detail.html', {'article': article})
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('articles/', views.article_list, name='article-list'),
path('articles/<int:pk>/', views.article_detail, name='article-detail'),
]
# Setup workflow
django-admin startproject myproject
python manage.py startapp articles
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Django REST Framework の例
# serializers.py
from rest_framework import serializers
from .models import Article
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ['id', 'title', 'body', 'published_at']
# views.py
from rest_framework import viewsets
from .models import Article
from .serializers import ArticleSerializer
class ArticleViewSet(viewsets.ModelViewSet):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
ベストプラクティス
- 1 つのアプリには 1 つの責務を持たせ、モデルを正規化してデータベースインデックスを追加します
- ビューは薄く保ち、ビジネスロジックはサービスまたはモデルのメソッドに配置します
- CSRF 保護を必ず有効にし、セキュリティミドルウェアを設定します
select_relatedとprefetch_relatedを使用して、N+1 クエリを回避しますpython manage.py testでテストを実行し、速度を上げるには--parallelを使用します
リファレンス
- 公式ドキュメント:https://docs.djangoproject.com/
キーワード
django, ORM, MTV, migrations, Python web, REST framework, admin, views, templates
コメント
Markdown 対応