如何使用 htmx 在 django 中进行不区分大小写的主动搜索
Posted
技术标签:
【中文标题】如何使用 htmx 在 django 中进行不区分大小写的主动搜索【英文标题】:How to make a case insensitive active search in django with htmx 【发布时间】:2021-11-29 01:57:31 【问题描述】:我得到了可以进行主动搜索的代码。我让它工作,但问题是它不能很好地搜索。如果它是一个小写字母并且您输入大写字母,它将无法识别。它区分大小写。我怎样才能让它不区分大小写???
@require_http_methods(['POST'])
def search(request):
res_todos = []
search = request.POST['search']
if len(search) == 0:
return render(request, 'todo.html', 'todos':[])
for i in list(Persons.objects.values()):
if search in i['title']:
res_todos.append(i)
return render(request, 'todo.html', 'todos': res_todos)
【问题讨论】:
【参考方案1】:您可以让数据库为您完成工作,从而过滤:
@require_http_methods(['POST'])
def search(request):
search = request.POST['search']
qs = Persons.objects.none()
if search:
qs = Persons.objects.filter(title__icontains=search)
return render(request, 'todo.html', 'todos': qs)
通常使用查询进行搜索,使用 GET 请求而不是 POST 请求。
注意:通常 Django 模型被赋予一个单数名称,所以
Person
而不是。Persons
【讨论】:
以上是关于如何使用 htmx 在 django 中进行不区分大小写的主动搜索的主要内容,如果未能解决你的问题,请参考以下文章