Last active
July 21, 2022 18:46
-
-
Save wm3ndez/5292586 to your computer and use it in GitHub Desktop.
Add attrs to Django Form Fields. I've been using Twitter Bootstrap in a couple of my projects and I needed to add some attrs to my form fields.
This is far away from perfect, but guess what: It works!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django.template import Library | |
register = Library() | |
@register.filter | |
def add_classes(widget, classes): | |
widget.field.widget.attrs['class'] = classes | |
return widget | |
@register.filter | |
def add_placeholder(widget, placeholder): | |
widget.field.widget.attrs['placeholder'] = placeholder | |
return widget | |
@register.filter | |
def add_key_value_attr(widget, key_value): | |
attr, value = key_value.split(',') | |
widget.field.widget.attrs[attr] = value | |
return widget | |
""" | |
{% load form_widgets %} | |
<form class="form" method="post" action=""> | |
{{ form.name.label_tag }} | |
{{ form.name|add_classes:"span4"|add_placeholder:"Your Name" }} | |
{{ form.email.label_tag }} | |
{{ form.email|add_classes:"span4"|add_placeholder:"email@example.com" }} | |
{{ form.message.label_tag }} | |
{{ form.message|add_classes:"span4"|add_placeholder:"Your message..."|add_key_value_attr:"rows,3" }} | |
<button type="submit" class="btn btn-primary">Send</button> | |
</form> | |
""" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment