Django 简单搜索查询功能
项目需求
需要通过input框搜索数据字段,精确查询相关数据
html中input
<form action="/search/" method="post">
{% csrf_token %}
<input type="search" placeholder="查询码/标题" name="search">
<button type="submit">查询</button>
</form>
action控制提交具体位置,method控制提交方式;input标签中必须要有name字段,值可以自定义,否则后端无法收到数据,显示一个空queryset
配置url.py,为action提供路径
path('search/',search)
view中创建相关函数
使用Q可以书的标题精确查询和价格模糊查询,最后将查询结果返回给页面
from django.shortcuts import render
from django.db.models import Q
from models import Books
def search(request):
if request.method == "POST":
search_key = request.POST.get("search")
ret = Books.objects.filter(Q(title = search_key)|Q(pice__icontains=search_key))
return render(request,"result.html",{"ret":ret})