Здравствуйте! Помогите пожалуйста добавить несколько фильтров к форме:
myfilters.py
:
from django import template
register = template.Library()
@register.filter(name='addclass')
def addclass(value, arg):
return value.as_widget(attrs={'class': arg})
@register.filter
def placeholder(field, args=None):
if args == None:
return field
field.field.widget.attrs.update({ "placeholder": args })
return field
В шаблоне делаю так:
{{ form.username|addclass:'form-control'|placeholder:'Enter your name'}}
Возникает такая ошибка:
Traceback (most recent call last):
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/megoloman/Django_1_9/bin/Deploy/test_site/apps/contact_info/views.py", line 121, in register
return render_to_response("contact_info/register.html", args)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/shortcuts.py", line 39, in render_to_response
content = loader.render_to_string(template_name, context, using=using)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/loader.py", line 97, in render_to_string
return template.render(context, request)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/backends/django.py", line 95, in render
return self.template.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 206, in render
return self._render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
return self.nodelist.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 988, in render
bit = node.render_annotated(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 955, in render_annotated
return self.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
return compiled_parent._render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
return self.nodelist.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 988, in render
bit = node.render_annotated(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 955, in render_annotated
return self.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 69, in render
result = block.nodelist.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 988, in render
bit = node.render_annotated(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 955, in render_annotated
return self.render(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 1039, in render
output = self.filter_expression.resolve(context)
File "/home/megoloman/Django_1_9/local/lib/python2.7/site-packages/django/template/base.py", line 732, in resolve
new_obj = func(obj, *arg_vals)
File "/home/megoloman/Django_1_9/bin/Deploy/test_site/apps/contact_info/templatetags/myfilters.py", line 15, in placeholder
field.field.widget.attrs.update({ "placeholder": args })
AttributeError: 'SafeText' object has no attribute 'field'