我在数据库里有很多书。搜索数据库不会返回任何内容(空的queryset)。
在菜单中:
<form name="myform" method="POST" action="{% url 'search' %}">
{% csrf_token %}
<input type="text" name="search" placeholder="Search" />
</form>
视图.py
def search(request):
if request.method == 'POST':
book_name = request.POST.getlist('search')
try:
status = Add_prod.objects.filter(bookname__icontains=book_name)
#Add_prod class contains a column called 'bookname'
except Add_prod.DoesNotExist:
status = None
return render(request,"search.html",{"books":status})
else:
return render(request,"search.html",{})
我的模板文件
{% if books %}
<a href="{% url 'buy_book' pk=books.pk %}">
<!--Upon successful search book image with hyperlink appears -->
<img src="{{books.image.url}}" alt="No Image"></a>
<p>{{books.bookname}}</p>
<p>Rs.{{books.price}}</p>
{% endif %}
我想在这里补充几点。。
1)我觉得搜索结果应该是方法得不到帖子。您可以参考this链接来查看何时使用POST以及何时使用GET
2)视图.py
3)django模板现在应该是
这应该很有效。
还要确保在数据库中有一些数据,以便在搜索时获取一些结果!
似乎需要使用
for
,因为图书是一个查询集在模板中,尝试:
在你看来:
相反:
尝试:
相关问题 更多 >
编程相关推荐