关于 django
此 Django 技能为开发者提供构建 Django Web 应用和 REST API 的指导,涵盖项目配置、模型、视图、测试与部署。还包含 Django REST Framework、管理后台及安全实践的相关说明。
主要功能
- 01创建项目与应用
- 02定义模型并执行迁移
- 03构建视图与 URL 路由
- 04使用 Django REST Framework 构建 REST API
- 05配置管理后台、表单与身份验证
- 06测试应用并准备部署
适用场景
- 01搭建 Django Web 项目
- 02开发 REST API
- 03配置管理后台和身份验证
- 04测试并部署 Django 应用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill django安装后在 Claude Code 中输入/django确认已加载。
附带文件LICENSE.txt
详细介绍
适用场景
在用户希望执行以下操作时使用此技能:
- 使用模型、视图和模板创建 Django Web 应用
- 配置项目、应用、迁移和部署
- 使用 Django REST Framework 构建 REST API
- 设置 Django 管理后台、表单和身份验证
使用方法
工作流
- 创建项目 — 使用
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
最佳实践
- 每项职责对应一个应用;规范化模型并添加数据库索引
- 保持视图精简——将业务逻辑放在服务或模型方法中
- 始终启用 CSRF 保护并配置安全中间件
- 使用
select_related和prefetch_related避免 N+1 查询 - 使用
python manage.py test运行测试;使用--parallel提升速度
参考资料
关键词
django、ORM、MTV、迁移、Python Web、REST 框架、管理后台、视图、模板
评论
支持 Markdown