【发布时间】:2019-07-14 10:27:10
【问题描述】:
我做了一个搜索栏,我希望它搜索网站中的标题。在键入之前什么都没有出现,但是每当我键入一个标题时,所有标题都会出现。如何解决这个问题?
index.html
def index(request):
query = request.GET.get('srh')
if query:
target1 = Destination.objects.filter(title__icontains=query)
target1 = a, b= [Destination() for __ in range(2)]
a.img = 'Article.jpg'
b.img = 'Micro Tasks.jpeg'
a.title = 'Article Writing'
b.title = 'Micro Tasks'
context = {'target1': target1}
return render(request, 'index.html', context)
else:
return render(request, 'index.html')
views.py
<form class="love" method="GET" action="">
{% csrf_token %}
<input type="text" placeholder='Search..' name="srh" value="{{request.GET.srh}}"> <br>
<button type="submit" class="btn btn-danger"> Search </button>
</form>
<div>
{% for dest1 in target1 %}
{% if dest1 %}
<div>
<a href="{{baseUrl}}/{{dest1.img}}">
<img src="{{hiUrl}}/{{dest1.img}}" alt="" />
<h3>{{dest1.title}}</h3>
</a>
</div>
{% endif %}
{%endfor%}
</div>
【问题讨论】:
-
有人回答吗?
-
您正在覆盖 target1
target1 = a, b= [Destination() for __ in range(2)]。你到底想在那里做什么? -
我创建了这个变量
target1以使页面动态化。我没有在index.html中写标题和图像源,而是写在views.py中。Destination()在 models.py 中。那里是一堂课。 -
我给出的范围是2,因为
target1变量中有两个图像和两个标题