Django用内置方法实现简单搜索功能的方法

Model中分别提供了filter方法icontains方法实现简单的搜索功能。

html页面中实现搜索框

模板api_test_manage.html中增加以下内容

<form method='get' action='/api_search/'>
{% csrf_token %}
<input type='search' name='api_test_name' placeholder='流程接口名称' required>
<button type='submit'>搜索</button>
</form>

Django用内置方法实现简单搜索功能的方法

views增加search函数,过滤数据

ApiTest/apiviews.py中增加函数

# 搜索功能
@login_required
def api_search(request):
  username = request.session.get('user', '')
  search_apiTestName = request.GET.get('api_test_name', '') # 获取name属性=api_test_name的值,即搜索框输入内容
  apitest_list = ApiTest.objects.filter(apiTestName__icontains=search_apiTestName)
  return render(request, 'apitest_manage.html', {'user': username, 'apitests': apitest_list})

urls文件中增加路径

AutoTestPlat/urls.py中增加连接映射

urlpatterns = [
  path('admin/', admin.site.urls),
  path('api_search/', apiviews.api_search),

搜索结果如下

Django用内置方法实现简单搜索功能的方法