Django根据用户输入

时间:2017-10-13 06:00:04

标签: python django django-views

我刚开始学习python / django,我正在开展一个小项目。我有模型和html表单构建。如何查询我的数据库并过滤与用户输入的目的地城市相匹配的所有驱动程序的名称。

我的模特

class Drivers(models.Model):
    first_name = models.CharField(max_length=30, null=True, blank=False)
    last_name = models.CharField(max_length=30, null=True, blank=False)
    destination_one = models.CharField(max_length=50, null=True, blank=False)

我的HTML表单

<form id="searchform"  method="get" action="" accept-charset="utf-8">
  Search destination:
  <input id="searchbox" name="search_res" type="text" placeholder="Search">
  <input type="submit" value="OK">
</form>

    {% for dr in results %}

        {{dr.first_name}}
        {{dr.last_name}}
        {{dr.destination_one}}
        <br>

    {% endfor %}

    <br>

我的观点

def newpage(request):
    query = request.GET.get('search_res')
    if request.method == 'GET':
        results = Drivers.objects.filter(destination_one=query)
        context = RequestContext(request)
    return render_to_response(request,'busapp/newpage.html',{'results': results})

模型和HTML都很好。我在views.py中构建一个简单的def时遇到了麻烦。

1 个答案:

答案 0 :(得分:1)

from django.shortcuts import render
def newpage(request):
    query = request.GET.get('search_res', None)
    context = {}

    if query and request.method == 'GET':
        results = Drivers.objects.filter(destination_one=query)
        context.update({'results': results})
return render(request,'busapp/newpage.html',context)