【问题标题】:Django using URL parameters to query database in class-based viewDjango 使用 URL 参数在基于类的视图中查询数据库
【发布时间】:2019-03-14 20:06:32
【问题描述】:

我有一个表单,提交后会转到结果页面,例如:

appname/results/?make=BMW

我想使用 URL 参数来查询数据库并在该页面上显示结果。

这是我目前的代码:

观看次数

class SearchView(FormView):

    template_name = 'carproject/search.html'

    def get(self, request, *args, **kwargs):
        form = AdvancedSearch(self.request.GET or None)
        context = {'form': form}
        if form.is_valid():
            return render(request, 'carproject/results.html')
        else:
            return render(request, self.template_name, context)

class ResultsView(TemplateView):
    template_name = 'carproject/results.html'

    def get_queryset(self, request, *args, **kwargs):
        make = self.request.GET.get('make')
        results = Vehicles.objects.filter(makename__icontains='make')
        context = {'results': results}

        return render(request, self.template_name, context)

HTML

<table>
{% for item in results%}
                <tr>
                    <td>{{item.makename}}</td>
                    <td>{{item.model}}</td>
                    <td>{{item.seriesname}}</td>
                    <td>{{item.seatingcapacity}}</td>
                    <td>{{item.pricenew}}</td>
                </tr>
                {% endfor %}
</table>

【问题讨论】:

    标签: django django-class-based-views url-parameters


    【解决方案1】:

    我不知道问题是什么,但你应该改变

    results = Vehicles.objects.filter(makename__icontains='make')
    

    results = Vehicles.objects.filter(makename__icontains=make)
    

    'make' -> make

    【讨论】:

      猜你喜欢
      • 2016-03-31
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 2018-12-09
      • 2013-03-23
      • 2015-04-30
      • 1970-01-01
      • 2021-10-21
      相关资源
      最近更新 更多