如何编写一个 django 视图来在数据库中搜索?

How to write a django view to search in database?

我一直在尝试为我的数据库 (sqlite3) 创建一个搜索引擎。我已将地点名称存储在数据库中。我想向用户显示一个空表单并从该表单获取输入并将这些作为参数传递给 database_table.objects.filter() 或通过从数据库中获取所有行然后根据这些参数搜索这些行。所以我的问题是如何编写视图(基于 class 或基于函数)来实现此功能。我知道如何查询数据库,但想知道如何为此编写视图。我正在使用 Django-1.9 和 python 3.4。我在其中挣扎。请帮忙。

不需要 Django 的表单,一个简单的 function-based 搜索视图可能如下所示:

views.py

from django.shortcuts import render

def search(request):

    template_name = 'search.html'

    query = request.GET.get('q', '')
    if query:
        # query example
        results = MyEntity.objects.filter(name__icontains=query).distinct()
    else:
        results = []
    return render(
        request, template_name, {'results': results})

看看 official django site

的基础教程