@@ -489,8 +489,9 @@ class TestSerializer(serializers.Serializer):
489489 assert rendered == ''
490490
491491
492+ @override_settings (TIME_ZONE = 'UTC' , USE_TZ = True )
492493class TestDateTimeFieldHTMLFormRender (TestCase ):
493- def test_datetime_field_rendering (self ):
494+ def test_datetime_field_rendering_milliseconds (self ):
494495 class TestSerializer (serializers .Serializer ):
495496 appointment = serializers .DateTimeField ()
496497
@@ -505,6 +506,36 @@ class TestSerializer(serializers.Serializer):
505506 rendered
506507 )
507508
509+ def test_datetime_field_rendering_no_milliseconds (self ):
510+ class TestSerializer (serializers .Serializer ):
511+ appointment = serializers .DateTimeField ()
512+
513+ appointment = datetime (2024 , 12 , 24 , 0 , 55 , 30 , 0 )
514+ serializer = TestSerializer (data = {"appointment" : appointment })
515+ serializer .is_valid ()
516+ renderer = HTMLFormRenderer ()
517+ field = serializer ['appointment' ]
518+ rendered = renderer .render_field (field , {})
519+ self .assertInHTML (
520+ '<input name="appointment" class="form-control" type="datetime-local" value="2024-12-24T00:55:30">' ,
521+ rendered
522+ )
523+
524+ def test_datetime_field_rendering_no_seconds_and_milliseconds (self ):
525+ class TestSerializer (serializers .Serializer ):
526+ appointment = serializers .DateTimeField ()
527+
528+ appointment = datetime (2024 , 12 , 24 , 0 , 55 , 0 , 0 )
529+ serializer = TestSerializer (data = {"appointment" : appointment })
530+ serializer .is_valid ()
531+ renderer = HTMLFormRenderer ()
532+ field = serializer ['appointment' ]
533+ rendered = renderer .render_field (field , {})
534+ self .assertInHTML (
535+ '<input name="appointment" class="form-control" type="datetime-local" value="2024-12-24T00:55:00">' ,
536+ rendered
537+ )
538+
508539
509540class TestHTMLFormRenderer (TestCase ):
510541 def setUp (self ):
0 commit comments