Интересует 3 вопроса:
1. Как подключить и использовать свой .html шаблон в виджете?
2. Как внутри виджета сделать кастомный шаблон (минимальный набор тегов)?
3. Как правильно хранить свой виджет в приложении:
-myapp:
--forms:
---widget.py
---templates:
----mywidget.html
такой вариант подходящий или нужно делать иначе?
Cпасибо.
добавлю простой снипет, может кому и пригодится:widgets.pyfrom django import forms
from django.forms.utils import flatatt
from django.utils.html import format_html
class Tags(forms.TextInput):
input_type = 'text'
#переопределяем рендер
def render(self, name=None, value=None, attrs=None):
attrs = dict(self.attrs, **attrs) if attrs else self.attrs
final_attrs = dict(attrs, type=self.input_type, name=name)
return format_html('<input {} >', flatatt(final_attrs)) # flatatt позволяет пребразовать словарь в нормальные пары
# подключаем статику
class Media:
css = {
'all': ('style.css',)
}
js = 'script.js'
и в формах, мы просто подключаем виджет:
test = forms.CharField(widget=Tags)
а если совсем все плохо и лениво, то можно использовать
https://django-floppyforms.readthedocs.io/en/latest/