I've installed the latest SVN branch from Django which includes the new forms. I'm trying to use the SelectDateWidget from django.forms.extras.widgets but the field is showing up as a normal DateInput widget.
Here is the forms.py from my application:
from django import forms
from jacob_forms.models import Client
class ClientForm(forms.ModelForm):
DOB = forms.DateField(widget=forms.extras.widgets.SelectDateWidget)
class Meta:
model = Client
What am I doing wrong? Checking the forms/extras/widgets.py I see the SelectDateWidget class exists.
Here is the form.py
From the ticket re: the lack of documentation for SelectDateWidget here: Ticket #7437
It looks like you need to use it like this:
Note the parentheses is the example.
Your code works fine for me as written. In a case like this, check for mismatches between the name of the field in the model and form (
DOB
versusdob
is an easy typo to make), and that you've instantiated the right form in your view, and passed it to the template.The real problem was that SelectDateWidget can't be referenced this way. Changing the code to reference it differently solved my problem:
This seems to be a limitation that you can't reference package.package.Class from an imported package. The solution imports extras so the reference is just package.Class.
Why not use
forms.SelectDateWidget
. Just use it as reference.