Django 基础用法
什么是 Django?
Django 是一个功能强大的 Python Web 框架,遵循 MVC 设计模式,提供了一整套完整的 Web 开发解决方案。
info
Django 提供了内置的 ORM、用户认证、管理后台等功能,使开发变得更加高效。
安装 Django
pip install django
创建 Django 项目
django-admin startproject myproject
cd myproject
python manage.py runserver
运行后访问 http://127.0.0.1:8000/ 即可看到 Django 欢迎页面。
Django 项目结构
myproject/
│── manage.py         # 管理 Django 项目
│── myproject/        # 项目主目录
│   │── __init__.py
│   │── settings.py   # 项目配置
│   │── urls.py       # URL 路由
│   │── wsgi.py       # WSGI 入口
│── myapp/            # Django 应用
│   │── models.py     # 数据模型
│   │── views.py      # 视图
│   │── urls.py       # 应用路由
│   │── admin.py      # 后台管理
│   │── migrations/   # 数据库迁移文件
创建 Django 应用
python manage.py startapp myapp
定义数据模型
from django.db import models
class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    created_at = models.DateTimeField(auto_now_add=True)
迁移数据库
python manage.py makemigrations
python manage.py migrate
创建 Django 视图和路由
- Python
 
from django.http import JsonResponse
from django.shortcuts import get_object_or_404
from .models import User
def user_list(request):
    users = list(User.objects.values())
    return JsonResponse(users, safe=False)
def user_detail(request, user_id):
    user = get_object_or_404(User, id=user_id)
    return JsonResponse({'name': user.name, 'email': user.email})
配置 URL
from django.urls import path
from .views import user_list, user_detail
urlpatterns = [
    path('users/', user_list, name='user_list'),
    path('users/<int:user_id>/', user_detail, name='user_detail'),
]
启用 Django Admin 管理后台
from django.contrib import admin
from .models import User
admin.site.register(User)
python manage.py createsuperuser
使用 Django REST Framework 进行 API 开发
pip install djangorestframework
from rest_framework import serializers, viewsets
from .models import User
class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
配置 Django REST Framework 路由
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import UserViewSet
router = DefaultRouter()
router.register(r'users', UserViewSet)
urlpatterns = [
    path('api/', include(router.urls)),
]
结论
Django 提供了 一整套功能完备的 Web 开发工具,适用于快速开发和大规模应用。