Пользовательский виджет для панели поиска
Я хотел определить пользовательский виджет 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/