UPDATE: Я вынес в код в отдельную библиотеку -
https://github.com/viewflow/viewform
Доступно через pypi: pip install django-viewform
------------------
Можно воспользоваться пакетом django-floppy-forms и определить свои шаблоны для стандартных и нестандартных виджетов -
django-floppyforms.readthedocs.org/en/latest/custo...
К сожалению, как показывает моя практика. этого часто недостаточно. Сразу после того как сделан кастомный рендеринг виджетов, появляются хотелки наподобие - "а в этой форме отрендерить этот виджет вот также, но чуть-чуть по другому", Например добавить bootstrap prepend значок к полю ввода.
С floppy-forms приходится лезть в пайтон код, что кажется немного оверхедом.
Я начал делать свой вариант, позволяющий переопеделять и дефолтный рендеринг виджетов, и при необходимости в шаблоне конкретной формы тут же менять какие-то детали.
Общая идея, как с наследованием блоков, но блоки создаются динамически и для каждого поля.
И каждый блок можно переопределить, внутри шаблона конкретной формы:
{% viewform 'viewform/bootstrap3/form.html' form=form layout=view.layout %}
{% viewpart field_icon 'my_field_name' %}
<span class="glyphicon glyphicon glyphicon-pencil form-control-feedback"></span>
{% endviewpart %}
{% endviewform %}
Отдельным пакетом пока этого нет, но как реализовано можно уже посмотреть тут -
https://github.com/kmmbvnr/django-viewflow/blob/ma...