Я столкнулся с той же проблемой и смог решить ее следующим образом:
Я следовал за кодом в этой ссылке и добавил небольшую модификацию
https://blog.joeymasip.com/how-to-add-attributes-to-form-widgets-in-django-templates/
Лето:
Шаг 1:
создайте файл с именем add_attr.py и поместите его в папку templatetags внутри вашего приложения
Шаг 2:
добавьте следующий код в add_attr.py
from django.template import Library
register = Library()
@register.filter(name='add_attr')
def add_attr(field, css):
attrs = {}
definition = css.split(',')
for d in definition:
if '=' not in d:
attrs['class'] = d
else:
key, val = d.split('=')
attrs[key] = val
return field.as_widget(attrs=attrs)
Шаг 3: Использование тега следующим образом:
загрузить тег:
{% load add_attr %}
пример:
<input type="email" id="defaultLoginFormEmail" class="form-control mb-4" placeholder="E-mail">
становится
{{ form.email|add_attr:'id=defaultLoginFormEmail,class=form-control mb-4,placeholder=E-mail' }}