Django. Как при помощи формы поиска вывести в шаблоне количество слов из списка?

Для того чтобы вывести количество слов из списка с помощью формы поиска в Django, следует выполнить следующие шаги:

  1. Создание модели: Определите модель, в которой будет храниться список слов. Например, можно создать модель Word с полем name для хранения слов.
from django.db import models

class Word(models.Model):
    name = models.CharField(max_length=100)
  1. Создание формы поиска: Создайте форму поиска, которая будет использоваться для ввода текста пользователем.
from django import forms

class SearchForm(forms.Form):
    search_term = forms.CharField(label='Search')
  1. Обработка данных из формы: Обработайте данные, введенные пользователем в форму поиска. В представлении (view) получите текст из формы, разделите его на слова и посчитайте количество слов, которые есть в базе данных.
from django.shortcuts import render
from .models import Word
from .forms import SearchForm

def word_count(request):
    if request.method == 'POST':
        form = SearchForm(request.POST)
        if form.is_valid():
            search_term = form.cleaned_data['search_term']
            words_list = search_term.split()
            count = Word.objects.filter(name__in=words_list).count()
            return render(request, 'word_count.html', {'count': count})
    else:
        form = SearchForm()
    return render(request, 'search_form.html', {'form': form})
  1. Шаблон: В шаблоне (template) выведите количество найденных слов.
<!DOCTYPE html>
<html>
<head>
    <title>Word Count</title>
</head>
<body>
    <h1>Number of words found: {{ count }}</h1>
</body>
</html>
  1. Настройка URL'а и маршрутизация: Не забудьте настроить URL, который будет обрабатывать запросы формы поиска.
from django.urls import path
from .views import word_count

urlpatterns = [
    path('word_count/', word_count, name='word_count'),
]

После выполнения этих шагов, у вас будет рабочая форма поиска, которая будет выводить количество слов из списка в шаблоне Django.