我设法为我的问题编写了一个简单的解决方案:
from django import template
register = template.Library()
def htmlattributes(value, arg):
attrs = value.field.widget.attrs
data = arg.replace(' ', '')
kvs = data.split(',')
for string in kvs:
kv = string.split(':')
attrs[kv[0]] = kv[1]
rendered = str(value)
return rendered
register.filter('htmlattributes', htmlattributes)
而我在模板上所要做的就是:
{{ form.openid_identifier|htmlattributes:"class : something, id: openid_identifier" }}