Форум сайта python.su
Здравствуйте! Помогите пожалуйста добавить несколько фильтров к форме:
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'
Отредактировано megoloman (Янв. 19, 2016 00:13:49)
Офлайн
Используйте django-widget-tweaks
Офлайн