Back to snippets

django_widget_tweaks_render_field_css_classes_attributes.py

python

Demonstrate how to use the `render_field` template tag to dynamical

Agent Votes
1
0
100% positive
django_widget_tweaks_render_field_css_classes_attributes.py
1# 1. Add 'widget_tweaks' to your INSTALLED_APPS in settings.py
2# INSTALLED_APPS = [
3#     ...
4#     'widget_tweaks',
5# ]
6
7# 2. Example Form (forms.py)
8from django import forms
9
10class MyForm(forms.Form):
11    name = forms.CharField(max_length=100)
12    email = forms.EmailField()
13
14# 3. Example View (views.py)
15from django.shortcuts import render
16from .forms import MyForm
17
18def my_view(request):
19    form = MyForm()
20    return render(request, 'my_template.html', {'form': form})
21
22# 4. Example Template (templates/my_template.html)
23# {% load widget_tweaks %}
24#
25# <form method="post">
26#     {% csrf_token %}
27#
28#     <!-- Using render_field to add a CSS class and a placeholder -->
29#     <div class="field">
30#         {{ form.name.label_tag }}
31#         {% render_field form.name class="form-control" placeholder="Enter your name" %}
32#     </div>
33#
34#     <!-- Adding multiple classes and extra attributes -->
35#     <div class="field">
36#         {{ form.email.label_tag }}
37#         {% render_field form.email class="form-control is-valid" data-help="Enter a valid email" %}
38#     </div>
39#
40#     <button type="submit">Submit</button>
41# </form>