我遇到了同样的问题,并能够解决如下问题:我按照此链接中的代码添加了一些修改[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 %}
例:
变
{{ form.email|add_attr:'id=defaultLoginFormEmail,class=form-control mb-4,placeholder=E-mail' }}