Я работаю над сайтом блога, где вы можете искать сообщения, используя поиск по ключевым словам (обычно это обычная панель поиска).
Я импортировал Q из django .db.models
Представление, которое я создал:
def search(request):
queryset = Article.objects.all()
query = request.GET.get('q')
if query:
queryset = queryset.filter(
Q(title__icontains=query) |
Q(overview__icontains=query)
).distinct()
context = {
'queryset': queryset,
}
return render(request, 'search_results.html', context)
urlpattern:
path('search/', search, name='search-results'),
Сама форма:
<form action="{% url 'search' %}" class="search-form">{% csrf_token %}
<button type="submit" class="submit"><i class="icon-search"></i></button>
<div class="form-group">
<span class="icon icon-search"></span>
<input type="text" class="form-control" name="q" placeholder="Type a keyword and hit enter">
</div>
</form>
Когда я хочу получить доступ к странице, к которой Я вставил эту форму, там написано: «Обратный поиск» не найден. 'search' не является допустимой функцией представления или именем шаблона.
Ниже также показано это:
1 <!DOCTYPE html>
2 <html lang="en">
3
4 {% include 'head.html' %}
5
6 <body>
7
8 {% include 'header.html' %}
9
10 {% block content %}
Я попытался добавить / удалить csrf_token и кнопку отправки, но результат всегда одно и то же. Пожалуйста помоги!