Django-全局搜索功能

1.前端js根据选择进行url请求。

//顶部搜索栏搜索方法
function search_click(){
    var type = $('#jsSelectOption').attr('data-value'),
        keywords = $('#search_keywords').val(),
        request_url = '';
    if(keywords == ""){
        return
    }
    if(type == "course"){
        request_url = "/course/list?keywords="+keywords
    }else if(type == "teacher"){
        request_url = "/org/teacher/list?keywords="+keywords
    }else if(type == "org"){
        request_url = "/org/list?keywords="+keywords
    }
    window.location.href = request_url
}
2.url对应的view.py的代码添加关键词筛选:

# 设置全局课程搜索关键词
search_keywords = request.GET.get('keywords','')
if search_keywords:
    all_courses = all_courses.filter(Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) |
                                     Q(detail__icontains=search_keywords) )
3.django会自动根据这个keywords进行数据匹配。

icontains不分大小写
contains区分大小写

你可能感兴趣的:(Django)