【发布时间】:2020-03-08 11:36:24
【问题描述】:
我是 Django/Python 新手,正在创建一个自学项目
我有一个包含 5 个不同输入选择字段的页面
- 品牌 2. 型号 3. 里程 4. Price_Range 6.Year_of_Make
我有一个名为 Products 的模型,其中包含上述所有字段。
我的 html 有以下字段
<div class="form-group">
<select class="form-control from-control-sm" id="body" name="bodystyle" value="{{ request.Get.bodystyle }}">
<option>Body</option>
<option>Compact</option>
<option>Convertible</option>
<option>Coupe</option>
<option>Off-road</option>
<option>Sedan</option>
</select>
</div>
<div class="form-group">
<select class="form-control" id="product_make" name="product_make" value="{{ request.Get.product_make }}">
<option>Ford</option>
<option>Tata</option>
<option>Hyundai</option>
<option>Kia</option>
<option>Honda</option>
<option>Skoda</option>
</select>
</div>
这是我的意见.py
from django.shortcuts import render
from products.models import Products
from django.db.models import Q
# Create your views here.
def select(request):
q1 = request.GET.get('product_make')
q2 = request.GET.get('model_name')
q3 = request.GET.get('bodystyle')
cars = Products.object.filter(Q(bodystyle__icontains=q3)&Q(product_make__icontains=q1)&Q(model_name__icontains=q2))
return render(request, 'search/search.html', {'cars': cars})
当我点击 Enter 按钮时:
网址更改为 http://127.0.0.1:8000/select/?bodystyle=Sedan&product_make=Ford 但没有显示结果。
我的 urls.py
from django.conf.urls import url
from django.contrib import admin
from pages.views import home_view
from search.views import search
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^$', home_view, name='home'),
url(r'^home/', home_view, name='home'),
url(r'^search/', search, name='search'),
url(r'^select/', search, name='select'),
url('ajax/home_view/',home_view, name='ajax_load_models'),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我希望填充 {% for item in cars %},以便显示结果。
【问题讨论】:
标签: python django search filter