Python全系列 教程
3567个小节阅读:5929.9k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
修改order_app\serialiazers.py
模块,添加用户订阅课程序列化器
xxxxxxxxxx
41from rest_framework import serializers
2
3class OrdersSerializers(serializers.Serializer):
4 class_type = serializers.IntegerField(required=True)
建立order_app\views.py
,增加用户订阅课程视图
xxxxxxxxxx
411from time import time
2
3from rest_framework.views import APIView
4from rest_framework.response import Response
5
6from .models import Order
7from .serializers import OrdersSerializers
8from user_app.utils import verify_token
9from user_app.models import User
10from plan_app.models import ClassType
11
12
13class OrdersView(APIView):
14 def post(self,request):
15 '''
16 订阅课程
17 '''
18 # 获取用户提交的数据
19 serializer = OrdersSerializers(data=request.data)
20 # 校验数据
21 if serializer.is_valid():
22 # 提取用户信息
23 data = verify_token(request.META.get('HTTP_AUTHORIZATION'))
24 # 获取用户详细信息
25 user = User.objects.filter(phone = data.get('phone')).first()
26 # 获取订阅的课程
27 ct = ClassType.objects.filter(id = serializer.validated_data.get('class_type')).first()
28 # 准备订单的数据
29 order_id = f'{user.id}{ct.id}{int(time())}'
30 # 下订单
31 Order.objects.create(
32 id = order_id,
33 amount = ct.price,
34 user = user,
35 course= ct.course,
36 class_type= ct,
37 )
38 # 返回结果
39 return Response({'msg':'订阅课程成功','code':200})
40 else:
41 return Response(serializer.errors)
增加order_app\urls.py
模块,添加用户订阅课程接口路由
xxxxxxxxxx
71from django.urls import path
2
3from . import views
4
5urlpatterns = [
6 path('user_pay_couser/',views.OrdersView.as_view()),
7]
配置bz_edu_project\urls.py
基本信息,增加子应用与主应用路由的链接
xxxxxxxxxx
161from django.contrib import admin
2from django.urls import path,include
3
4urlpatterns = [
5 path('admin/', admin.site.urls),
6 path('api/',include('user_app.urls')),
7 path('api/',include('course_app.urls')),
8 path('api/',include('teacher_app.urls')),
9 path('api/',include('free_course_app.urls')),
10 path('api/',include('homepage_app.urls')),
11 path('api/',include('plan_app.urls')),
12 path('api/',include('update_app.urls')),
13 path('api/',include('personal_app.urls')),
14 path('api/',include('question_app.urls')),
15 path('api/',include('order_app.urls')),
16]