1-搜索导航栏
Header搜索组件:选择性CV
router/index.jsHeader.vue 2-搜索后台接口
路由:course/urls.py视图:course/views.py 3-搜索页面
SearchCourse搜索页面
1-搜索导航栏 Header搜索组件:选择性CV router/index.jsimport SearchCourse from '../views/SearchCourse.vue'
const routes = [
// ...
{
path: '/course/search',
name: 'search-course',
component: SearchCourse,
},
];
Header.vue
2-搜索后台接口
路由:course/urls.py
router.register('search', views.SearchCourseViewSet, 'search') # 搜索课程
视图:course/views.py
from rest_framework.viewsets import GenericViewSet
from rest_framework.mixins import ListModelMixin
from rest_framework.filters import SearchFilter
from . import models, serializers
# 搜索课程接口
class SearchCourseViewSet(GenericViewSet, ListModelMixin):
queryset = models.Course.objects.filter(is_delete=False, is_show=True).all()
serializer_class = serializers.CourseSerializer
pagination_class = pagination.PageNumberPagination
filter_backends = [SearchFilter]
search_fields = ['name']
3-搜索页面
SearchCourse搜索页面
{{course.name}}
{{course.students}}人已加入学习
{{course.teacher.name}} {{course.teacher.title}} {{course.teacher.signature}}
course.pub_sections">共{{course.sections}}课时/已更新{{course.pub_sections}}课时
共{{course.sections}}课时/更新完成
- 0{{key+1}} | {{section.name}}
免费
{{course.discount_type}}
¥{{course.real_price}}元
原价:{{course.price}}元
¥{{course.price}}元
立即购买
没有搜索结果



