不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • python基础

  • python模块

  • django

  • flask

  • SYL

    • day01

    • day02

    • day03

    • day04

    • day05

    • day06

    • day07

    • day08

    • day09

      • 01.RBAC角色权限管理类
      • 02.课程播放接口权限限制2
      • 03.路径模板两张表设计
      • 04.路径页面接口开发
      • day10

      • day11

      • day12

    • Celery

    • 微服务

    • python
    • SYL
    • day09
    xiaonaiqiang
    2021-03-10
    目录

    04.路径页面接口开发

    # 0.路径页面图

    # 1.课程路径接口开发

    # 1.1 course/urls.py添加路由

    router.register(r'path', views.PathViewSet)
    
    1

    # 1.2 course/serializers.py写序列化器

    from rest_framework import serializers
    from course.models import Path
    
    class PathSerializer(serializers.ModelSerializer):
        class Meta:
            model = Path
            fields = ('id', 'title', 'img', 'desc', 'course_total')
            # fields = '__all__'
            # exclude = ['user']
    
    
    class JieDuanSerializer(serializers.ModelSerializer):
        courses = CourseSerializer(many=True)
    
        class Meta:
            model = JieDuan
            fields = '__all__'
    
    
    class PathDeepSerializer(serializers.ModelSerializer):
        jieduan = JieDuanSerializer(many=True)
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    # 1.3course/views.py添加视图函数

    from rest_framework import viewsets
    from course.models import *
    from course.serializers import *
    
    class PathViewSet(viewsets.ModelViewSet):
        queryset = Path.objects.all()
    
        def get_serializer_class(self):
            if self.action == 'list':
                return PathSerializer
            else:
                return PathDeepSerializer
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    # 1.4 course/admin.py注册后台管理

    from django.contrib import admin
    from . import models
    
    admin.site.register(models.Path)
    
    1
    2
    3
    4

    # 1.5 测试接口

    • 测试接口
    http://192.168.56.100:8888/course/path/
    
    1

    • 返回事例
    {
        "count": 3,
        "next": null,
        "previous": null,
        "results": [
            {
                "id": 1,
                "title": "新手入门",
                "img": "http://192.168.56.100:8888/media/path/xsrm.png",
                "desc": "新手入门路径帮助对 IT 技术感兴趣的新手0基础入门计算机编程。本路径通过新手入门、Linux 及 Vim课程熟悉实验楼的实践学习环境,再以 C 语言和一个简单的项目引导你一步步进入计算机技术的殿堂。",
                "course_total": 0
            },
            {
                "id": 2,
                "title": "Python研发工程师",
                "img": "http://192.168.56.100:8888/media/path/python_path.png",
                "desc": "快乐学习python",
                "course_total": 0
            },
            {
                "id": 3,
                "title": "Linux入门课程",
                "img": "http://192.168.56.100:8888/media/path/linux_path.png",
                "desc": "学习linux",
                "course_total": 0
            }
        ]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    上次更新: 2024/3/13 15:35:10
    03.路径模板两张表设计
    01.搜索引擎工作原理

    ← 03.路径模板两张表设计 01.搜索引擎工作原理→

    最近更新
    01
    04.数组双指针排序_子数组
    03-25
    02
    08.动态规划
    03-25
    03
    06.回溯算法
    03-25
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式