mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #20850 -- Added MultiWidget.needs_multipart_form
This commit is contained in:
		| @@ -840,6 +840,11 @@ class MultiWidget(Widget): | ||||
|         obj.widgets = copy.deepcopy(self.widgets) | ||||
|         return obj | ||||
|  | ||||
|     @property | ||||
|     def needs_multipart_form(self): | ||||
|         return any(w.needs_multipart_form for w in self.widgets) | ||||
|  | ||||
|  | ||||
| class SplitDateTimeWidget(MultiWidget): | ||||
|     """ | ||||
|     A Widget that splits datetime input into two <input type="text"> boxes. | ||||
|   | ||||
| @@ -849,6 +849,14 @@ beatle J R Ringo False""") | ||||
|         w = MyMultiWidget(widgets=(TextInput(attrs={'class': 'big'}), TextInput(attrs={'class': 'small'})), attrs={'id': 'bar'}) | ||||
|         self.assertHTMLEqual(w.render('name', ['john', 'lennon']), '<input id="bar_0" type="text" class="big" value="john" name="name_0" /><br /><input id="bar_1" type="text" class="small" value="lennon" name="name_1" />') | ||||
|  | ||||
|         # Test needs_multipart_form=True if any widget needs it | ||||
|         w = MyMultiWidget(widgets=(TextInput(), FileInput())) | ||||
|         self.assertTrue(w.needs_multipart_form) | ||||
|  | ||||
|         # Test needs_multipart_form=False if no widget needs it | ||||
|         w = MyMultiWidget(widgets=(TextInput(), TextInput())) | ||||
|         self.assertFalse(w.needs_multipart_form) | ||||
|  | ||||
|     def test_splitdatetime(self): | ||||
|         w = SplitDateTimeWidget() | ||||
|         self.assertHTMLEqual(w.render('date', ''), '<input type="text" name="date_0" /><input type="text" name="date_1" />') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user