Необходимо изменить отображение полей даты SelectDateWidget - обернуть поля year, month, day в теги div с разными классами. В django 1.10 это делалось через переопределение метода render с добавлением нескольких строк
output = []
for field in self._parse_date_fmt():
if field == 'year':
output.append('<div class="input-field col s4">' + html['year'] + '</div>')
elif field == 'month':
output.append('<div class="input-field col s5">' + html['month'] + '</div>')
elif field == 'day':
output.append('<div class="input-field col s3">' + html['day'] + '</div>')
return mark_safe('\n'.join(output))
В Django 1.11 этот способ не работает. Попытался переопределить template_name, но ничего не меняется.
widgets.py
class CustomDateWidget(SelectDateWidget):
def get_template_names(self):
return ['accounts/custom_select_date.html']