Я пытаюсь добавить сообщение в шаблон, когда поиск еще не находится в БД. Итак, есть представление из приложения tour_store
, которое извлекает данные из базы данных и загружает в шаблон destination.html
:
функция tour_store / destinations:
def destinations(request):
destinations = Destinations.objects.all()
return render(request, 'destinations.html', {'destinations': destinations})
и search / Функция do_search:
def do_search(request):
if request.method == "GET":
# 'q' is the name in the search form // tour_title is the name that will be searched from Destination model
destinations = Destinations.objects.filter(location__icontains=request.GET['q'])
return render(request, 'destinations.html', {'destinations': destinations})
форма поиска: main.html
:
<form action="{% url 'search' %}" method="GET" class="header__search">
<div class="input-group search-input">
<!-- Change the search input phrase here -->
<input type="text" name="q" placeholder="Search for `Thailand`." class="form-control">
<div class="input-group-append">
<button class="btn btn-warning" type="submit" name="button"><i class="fas fa-search"></i></button></div>
</div>
</form>
destination.html
{% for destination in destinations %}
{% if destination in destinations %}
<div class="row" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1000">
<div class="col-md-7">
<a href="{% url 'destinationDetails' id=destination.id %}">
<img class=" embed-responsive img-fluid rounded mb-3 mb-md-0" src="{{ destination.image.url}}" alt="">
</a>
</div>
<div class="col-md-5 ">
<h3>{{destination.tour_title}}</h3>
<h6>{{destination.location}}</h6>
<p >{{destination.description|safe|slice:":150"}}...</p>
<p class="text-secondary"><i class="text-info far fa-calendar-check"></i> <strong>{{destination.booking_start_date}} - {{destination.booking_end_date}}</strong></p>
<h3>€ {{destination.price}}</h3>
<a class="btn btn-info rounded py-2 btn-block" href="{% url 'destinationDetails' id=destination.id %}"> View Retreat
</a>
</div>
</div>
<hr>
<--Here I am trying to add a message if the search is not met -->
{% else %}
<h1>We dont have this destination yet!</h1>
{% endif %}
{% endfor %}
Однако, если я добавлю {% if not destination in destinations %}
и поиск элемента, который находится в БД, я могу как-нибудь загрузить сообщение. В чем будет проблема?