区间过滤 课程章节接口
# 借助django-filter实现区间过滤 # 实现区间过滤 ##########1 filters.py class CourseFilterSet(FilterSet): # 课程的价格范围要大于min_price,小于max_price min_price = filters.NumberFilter(field_name='price', lookup_expr='gt') max_price = filters.NumberFilter(field_name='price', lookup_expr='lt') class Meta: model=models.Course fields=['course_category'] #####2 视图类中配置 -filter_backends=[DjangoFilterBackend] # 配置类:(自己写的类) -filter_class = CourseFilterSet
class CouresView(GenericViewSet,ListModelMixin,RetrieveModelMixin): queryset = models.Course.objects.filter(is_delete=False,is_show=True).order_by('orders') serializer_class = serializer.CourseModelSerializer pagination_class = PageNumberPagination # 过滤和排序 # filter_backends=[DjangoFilterBackend,OrderingFilter,SearchFilter] # filter_backends=[DjangoFilterBackend,OrderingFilter,MyFilter] filter_backends=[DjangoFilterBackend,OrderingFilter] # # filter_backends=OrderingFilter ordering_fields=['id', 'price', 'students'] # # search_fields=['course_category'] filter_fields=['course_category']
#1 urls.py router.register('chapters', views.CourseChapterView, 'coursechapter') # 2 views.py class CourseChapterView(GenericViewSet,ListModelMixin): queryset = models.CourseChapter.objects.filter(is_delete=False,is_show=True) serializer_class = serializer.CourseChapterSerializer # 可以按照课程id来查 filter_backends = [DjangoFilterBackend] filter_fields = ['course'] # 3 serializer.py class CourseSectionSerializer(serializers.ModelSerializer): class Meta: model=models.CourseSection fields=['name','orders','duration','free_trail','section_link','section_type_name'] class CourseChapterSerializer(serializers.ModelSerializer): # 子序列化的方式 coursesections=CourseSectionSerializer(many=True) class Meta: model=models.CourseChapter fields=['name','summary','chapter','coursesections']
# 1 注册七牛云,实名认证
https://www.qiniu.com/
# 2 登录---》管理控制台---》对象存储
# 3 新建空间----》上传视频--》拿到视频连接
浙公网安备 33010602011771号