Пользовательский виджет для панели поиска

Я хотел определить пользовательский виджет SearchBar, который, будучи связанным с CharField, автоматически отображал бы текстовое поле ввода для поиска, а затем кнопку поиска. Я создал шаблон html и поместил его в нужное место. Я попытался создать новый виджет, унаследовав его от django.forms.widgets.Input, но когда я указываю template_name=, он пытается найти путь только в django/forms/templates, а не в моем пользовательском месте myapp/forms/templates. Похоже, что этот путь заложен в django.template.backends.django.DjangoTemplates. Есть ли более простой способ, чем наследование от DjangoTemplates с последующим добавлением шаблонных путей, чтобы достичь желаемого?

BTW, я использую Bootstrap5, и поэтому также использую django-bootstrap5, так что я полагаю, что мне нужно написать рендерер и для этого.

Лучше ли мне вручную выводить поле и кнопку в каждой форме, чем определять пользовательский виджет?

, где фактический шаблон находится в myapp/forms/templates/widgets/search.html.

Это означает, что Django не найдет его, вы найдете его под:

myapp/templates/widgets/search.html

так без forms/.

Вернуться на верх