Django项目搜索接口开发逻辑讲解
views.py
def search(request):
if request.method == 'GET':
# 获取用户搜索信息
keyword = request.GET.get('search')
# 到数据库中检索与之相关的数据
arts = Art.objects.filter(Q(art_title__icontains=keyword) | Q(art_keyword__icontains=keyword) | Q(art_description__icontains=keyword))[:35]
# 分页
paginator = Paginator(arts, 2)
page_num = request.GET.get('page', 1)
page = paginator.get_page(page_num)
context = {'arts': arts, 'page': page, 'keyword': keyword}
return render(request, 'search.html', context=context)
base.html
<form class="search" action="/search/" method="GET">{% csrf_token %}
<input type="text" name="search" value="" placeholder="输入关键字..." class="search_input">
<button type="submit" class="search_btn">
<i class="iconfont icon-search"></i>
</button>
</form>