django中的简单搜索表单

时间:2019-04-01 16:27:31

标签: python django django-forms

我有一个简单的模型(姓和名的人)。我为此模型创建了一个管理员,可以在其中添加/编辑/删除对象。

我的问题是:

  1. 是否可以使用Django表单创建简单表单(无需CSS等)以搜索DB中的对象? (我选择要搜索的字段和值)还是仅用于发布请求的Django表单?

  2. 如何在搜索表单中添加AJAX功能,这样我的页面就不会重新加载?

老实说,我搜索了两个小时,没有找到任何信息。

1 个答案:

答案 0 :(得分:0)

您可以使用的最简单的“搜索”方法是使用视图返回json响应。例如:

从django.http导入JsonResponse

def SearchView(View):
    def get(self, request, *args, **kwargs):
        search_query = request.GET.get('q', '')
        search_results = Game.objects.filter(title__icontains=search_query)
        return JsonResponse(search_results)

然后您的JS应该是这样的:

$.ajax({
    type: "GET",
    url: YOUR_ENDPOINT,
    data : YOUR_GET_PARAMETERS,
    success: function (response) {
         // success callback
    }, 
    error: function(response) {
        // error handling
    }
}); 

注意:您也可以使用__search__字段查找来获得最佳搜索结果。