Django基础教程
第一部分:基础入门
1. 引言
Django简介
Django的优势与应用场景
2. 搭建开发环境
安装Python
创建虚拟环境
安装Django
3. 创建第一个Django项目
初始化Django项目
项目结构解析
启动开发服务器
4. Django的MVT架构
模型(Model)
视图(View)
模板(Template)
URL路由
第二部分:核心功能
1. 模型(Model)
定义模型
数据库迁移
模型字段与选项
2. 视图(View)
视图函数
基于类的视图
视图装饰器
3. 模板(Template)
创建模板
模板语法
模板继承
4. URL路由
定义URL模式
路由分发
5. 表单处理
定义表单
表单验证
文件上传
第三部分:高级功能
1. 用户认证与权限
用户认证
权限管理
2. Django Admin
自定义Admin界面
管理动作
3. 静态文件与媒体文件
静态文件管理
媒体文件处理
4. Django REST framework(DRF)
DRF简介
序列化器
视图集与路由
5. API文档
使用Swagger生成API文档
第四部分:实战与部署
1. 实战项目开发
用户管理系统
博客系统
文章管理系统
2. 数据库迁移
迁移至MySQL
数据库优化
3. 日志管理
日志配置
日志记录
4. 部署生产环境
部署到WSGI服务器
使用Docker部署
部署检查清单
5. 性能优化
性能优化策略
缓存机制
6. 总结
项目回顾
学习资源推荐
-
+
首页
序列化器
序列化器是DRF中的核心组件,用于将复杂的数据类型(如模型实例)转换为JSON等格式,同时也支持反序列化(将JSON转换为模型实例)。 #### **2.1 定义序列化器** DRF提供了两种类型的序列化器:`serializers.Serializer`和`serializers.ModelSerializer`。 ##### **2.1.1 使用`serializers.Serializer`** Python复制 ```python from rest_framework import serializers from .models import Book class BookSerializer(serializers.Serializer): id = serializers.IntegerField(read_only=True) title = serializers.CharField(max_length=100) author = serializers.CharField(max_length=100) published_date = serializers.DateField() price = serializers.DecimalField(max_digits=10, decimal_places=2) def create(self, validated_data): return Book.objects.create(**validated_data) def update(self, instance, validated_data): instance.title = validated_data.get('title', instance.title) instance.author = validated_data.get('author', instance.author) instance.published_date = validated_data.get('published_date', instance.published_date) instance.price = validated_data.get('price', instance.price) instance.save() return instance ``` ##### **2.1.2 使用`serializers.ModelSerializer`** Python复制 ```python from rest_framework import serializers from .models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = ['id', 'title', 'author', 'published_date', 'price'] ``` 在上述代码中: - `serializers.ModelSerializer`自动根据模型字段生成序列化器字段。 - `Meta`类中定义了模型和要包含的字段。
黄老师
2025年2月7日 09:58
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码