Index: django/newforms/fields.py
===================================================================
--- django/newforms/fields.py	(revision 7925)
+++ django/newforms/fields.py	(working copy)
@@ -26,7 +26,7 @@
 from django.utils.encoding import StrAndUnicode, smart_unicode, smart_str
 
 from util import ErrorList, ValidationError
-from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, FileInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple, DateTimeInput
+from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, FileInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple, DateTimeInput, DateInput
 from django.core.files.uploadedfile import SimpleUploadedFile as UploadedFile
 
 __all__ = (
@@ -264,6 +264,7 @@
 )
 
 class DateField(Field):
+    widget = DateInput
     default_error_messages = {
         'invalid': _(u'Enter a valid date.'),
     }
@@ -271,6 +272,7 @@
     def __init__(self, input_formats=None, *args, **kwargs):
         super(DateField, self).__init__(*args, **kwargs)
         self.input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS
+        self.widget.format = self.input_formats[0]
 
     def clean(self, value):
         """
@@ -343,6 +345,7 @@
     def __init__(self, input_formats=None, *args, **kwargs):
         super(DateTimeField, self).__init__(*args, **kwargs)
         self.input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS
+        self.widget.format = self.input_formats[0]
 
     def clean(self, value):
         """
Index: django/newforms/widgets.py
===================================================================
--- django/newforms/widgets.py	(revision 7925)
+++ django/newforms/widgets.py	(working copy)
@@ -20,7 +20,7 @@
 __all__ = (
     'Widget', 'TextInput', 'PasswordInput',
     'HiddenInput', 'MultipleHiddenInput',
-    'FileInput', 'DateTimeInput', 'Textarea', 'CheckboxInput',
+    'FileInput', 'DateTimeInput', 'DateInput', 'Textarea', 'CheckboxInput',
     'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect',
     'CheckboxSelectMultiple', 'MultiWidget', 'SplitDateTimeWidget',
 )
@@ -173,6 +173,9 @@
             value = value.strftime(self.format)
         return super(DateTimeInput, self).render(name, value, attrs)
 
+class DateInput(DateTimeInput):
+    format = '%Y-%m-%d'
+
 class CheckboxInput(Widget):
     def __init__(self, attrs=None, check_test=bool):
         super(CheckboxInput, self).__init__(attrs)
@@ -371,7 +374,7 @@
                 label_for = u' for="%s"' % final_attrs['id']
             else:
                 label_for = ''
-                
+
             cb = CheckboxInput(final_attrs, check_test=lambda value: value in str_values)
             option_value = force_unicode(option_value)
             rendered_cb = cb.render(name, option_value)
Index: tests/regressiontests/forms/models.py
===================================================================
--- tests/regressiontests/forms/models.py	(revision 7925)
+++ tests/regressiontests/forms/models.py	(working copy)
@@ -1,6 +1,7 @@
 import datetime
 
 from django.db import models
+from django import newforms as forms
 
 class BoundaryModel(models.Model):
     positive_integer = models.PositiveIntegerField(null=True, blank=True)
@@ -14,6 +15,17 @@
     """For ModelChoiceField and ModelMultipleChoiceField tests."""
     name = models.CharField(max_length=10)
 
+class DateTimeModel(models.Model):
+    date = models.DateField(default = datetime.date(1980, 1, 1))
+    time = models.DateTimeField(default = datetime.datetime(1980, 1, 1, 0, 0, 0))
+
+class DateTimeForm(forms.ModelForm):
+    date = forms.DateField(input_formats=('%d/%m/%Y',))
+    time = forms.DateTimeField(input_formats=('%d/%m/%Y %H:%M:%S',))
+
+    class Meta:
+        model = DateTimeModel
+
 __test__ = {'API_TESTS': """
 >>> from django.newforms import form_for_model, form_for_instance
 
@@ -50,4 +62,12 @@
 datetime.date(1969, 4, 4)
 >>> InstanceForm().fields['value'].initial
 12
+
+# DateField and DateTimeField should format the instance's values according to input_formats
+>>> i = DateTimeModel()
+>>> f = DateTimeForm(instance=i)
+>>> print f['date']
+<input type="text" name="date" value="01/01/1980" id="id_date" />
+>>> print f['time']
+<input type="text" name="time" value="01/01/1980 00:00:00" id="id_time" />
 """}
Index: tests/regressiontests/forms/widgets.py
===================================================================
--- tests/regressiontests/forms/widgets.py	(revision 7925)
+++ tests/regressiontests/forms/widgets.py	(working copy)
@@ -929,4 +929,22 @@
 u'<input type="text" name="date" value="2007-09-17 12:51:34" />'
 >>> w.render('date', datetime.datetime(2007, 9, 17, 12, 51))
 u'<input type="text" name="date" value="2007-09-17 12:51:00" />'
+
+Set Format
+>>> w = DateTimeInput(format="%d/%m/%Y %H:%M:%S")
+>>> d = datetime.datetime(2007, 9, 17, 12, 51, 34)
+>>> w.render('date', d)
+u'<input type="text" name="date" value="17/09/2007 12:51:34" />'
+>>> w.format = "%d-%m-%Y %H:%M:%S"
+>>> w.render('date', d)
+u'<input type="text" name="date" value="17-09-2007 12:51:34" />'
+
+# DateTimeInput ###############################################################
+
+>>> w = DateInput()
+>>> d = datetime.date(2007, 9, 17)
+>>> w.render('date', d)
+u'<input type="text" name="date" value="2007-09-17" />'
+
+
 """
