Python全系列 教程
3567个小节阅读:5929.8k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
修改personal_app\serialiazers.py
模块,添加获取个人订阅课程列表序列化器
xxxxxxxxxx
181from rest_framework import serializers
2
3from .models import UserSection
4
5class MySectionListSerializer(serializers.ModelSerializer):
6 '''
7 获取用户收藏课程的信息,用于个人中心
8 '''
9 id = serializers.IntegerField(source='section.id')
10 section_name = serializers.CharField(source='section.name')
11 section_duration = serializers.CharField(source='section.duration')
12 section_learn_count = serializers.CharField(source='section.learned_count')
13
14 create_time = serializers.DateTimeField(format="%Y-%m")
15
16 class Meta:
17 model = UserSection
18 fields = '__all__'
修改personal_app\views.py
模块,添加获取个人订阅课程列表视图
xxxxxxxxxx
271from rest_framework.views import APIView
2from rest_framework.response import Response
3
4from .models import UserSection
5from .serializers import MySectionListSerializer
6from user_app.utils import verify_token
7from user_app.models import User
8
9class MySectionListView(APIView):
10 def get(self,request,format=None):
11 # 根据token获取用户的唯一标识
12 data = verify_token(request.META.get('HTTP_AUTHORIZATION'))
13 if data:
14 # 根据用户的唯一标识查询用户信息
15 try:
16 user = User.objects.filter(phone = data.get('phone')).first()
17 # 根据用户信息查询对应的收藏课程
18 user_section = UserSection.objects.filter(user=user)
19 # 序列化数据
20 serializer = MySectionListSerializer(user_section, many=True)
21 # 返回数据
22 return Response(serializer.data)
23 except Exception as e:
24 return Response({'message': '用户信息有误'}, status=400)
25 # 返回数据
26 else:
27 return Response({'message': '请先登录'}, status=401)
修改personal_app\urls.py
模块,添加获取个人订阅课程列表接口路由
xxxxxxxxxx
91from django.urls import path
2
3from . import views
4
5urlpatterns = [
6 path('user_courses_name/', views.UserCourseNameListView.as_view()),
7 path('user_courses_list/', views.UserCourseListView.as_view()),
8 path('user_sections_list/', views.MySectionListView.as_view()),
9]