Авторизация
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
После регистрации вы можете задавать вопросы и отвечать на них, зарабатывая деньги. Ознакомьтесь с правилами, будем рады видеть вас в числе наших авторов!
Вы должны войти или зарегистрироваться, чтобы добавить ответ.
Для реализации поиска на сайте Django можно использовать следующий подход:
1. Создайте форму поиска:
«`python
from django import forms
class SearchForm(forms.Form):
query = forms.CharField(label=’Search’)
«`
2. Создайте представление, которое будет обрабатывать запросы поиска:
«`python
from django.shortcuts import render
from .forms import SearchForm
from .models import YourModel
def search(request):
form = SearchForm()
results = []
if ‘query’ in request.GET:
form = SearchForm(request.GET)
if form.is_valid():
query = form.cleaned_data[‘query’]
results = YourModel.objects.filter(title__icontains=query)
return render(request, ‘search.html’, {‘form’: form, ‘results’: results})
«`
3. Создайте шаблон `search.html`, где будет отображаться форма и результаты поиска:
«`html
{% if results %}
{% for result in results %}- {{ result.title }}
{% endfor %}
{% else %}
No results found.
{% endif %}
«`
4. Добавьте URL-маршрут для представления `search` в файле `urls.py` вашего приложения:
«`python
from django.urls import path
from .views import search
urlpatterns = [
path(‘search/’, search, name=’search’),
]
«`
Теперь, при переходе на `/search/` вы увидите форму поиска, которая будет отправлять запросы на представление `search`. Результаты поиска будут отображаться на той же странице.