如何编写django视图来搜索数据库?

时间:2015-12-30 06:55:19

标签: python-3.x django-models django-forms django-views

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

1 个答案:

答案 0 :(得分:1)

Django的形式不是必需的,一个简单的基于函数的搜索视图可能如下所示:

<强> 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

的基本教程