mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #25758 -- Defaulted to current language FORMATs in date/time filters
Thanks Ali Lozano for the report and the initial patch, and Tim Graham for the review.
This commit is contained in:
		| @@ -7,7 +7,6 @@ from decimal import ROUND_HALF_UP, Context, Decimal, InvalidOperation | ||||
| from functools import wraps | ||||
| from pprint import pformat | ||||
|  | ||||
| from django.conf import settings | ||||
| from django.utils import formats, six | ||||
| from django.utils.dateformat import format, time_format | ||||
| from django.utils.encoding import force_text, iri_to_uri | ||||
| @@ -727,8 +726,6 @@ def date(value, arg=None): | ||||
|     """Formats a date according to the given format.""" | ||||
|     if value in (None, ''): | ||||
|         return '' | ||||
|     if arg is None: | ||||
|         arg = settings.DATE_FORMAT | ||||
|     try: | ||||
|         return formats.date_format(value, arg) | ||||
|     except AttributeError: | ||||
| @@ -743,8 +740,6 @@ def time(value, arg=None): | ||||
|     """Formats a time according to the given format.""" | ||||
|     if value in (None, ''): | ||||
|         return '' | ||||
|     if arg is None: | ||||
|         arg = settings.TIME_FORMAT | ||||
|     try: | ||||
|         return formats.time_format(value, arg) | ||||
|     except AttributeError: | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| from datetime import datetime, time | ||||
|  | ||||
| from django.template.defaultfilters import date | ||||
| from django.test import SimpleTestCase | ||||
| from django.utils import timezone | ||||
| from django.test import SimpleTestCase, override_settings | ||||
| from django.utils import timezone, translation | ||||
|  | ||||
| from ..utils import setup | ||||
| from .timezone_utils import TimezoneTestCase | ||||
| @@ -20,6 +20,17 @@ class DateTests(TimezoneTestCase): | ||||
|         output = self.engine.render_to_string('date02', {'d': datetime(2008, 1, 1)}) | ||||
|         self.assertEqual(output, 'Jan. 1, 2008') | ||||
|  | ||||
|     @override_settings(USE_L10N=True) | ||||
|     @setup({'date02_l10n': '{{ d|date }}'}) | ||||
|     def test_date02_l10n(self): | ||||
|         """ | ||||
|         Without arg and when USE_L10N is True, the active language's DATE_FORMAT | ||||
|         is used. | ||||
|         """ | ||||
|         with translation.override('fr'): | ||||
|             output = self.engine.render_to_string('date02_l10n', {'d': datetime(2008, 1, 1)}) | ||||
|         self.assertEqual(output, '1 janvier 2008') | ||||
|  | ||||
|     @setup({'date03': '{{ d|date:"m" }}'}) | ||||
|     def test_date03(self): | ||||
|         """ | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| from datetime import time | ||||
|  | ||||
| from django.template.defaultfilters import time as time_filter | ||||
| from django.test import SimpleTestCase | ||||
| from django.utils import timezone | ||||
| from django.test import SimpleTestCase, override_settings | ||||
| from django.utils import timezone, translation | ||||
|  | ||||
| from ..utils import setup | ||||
| from .timezone_utils import TimezoneTestCase | ||||
| @@ -13,6 +13,18 @@ class TimeTests(TimezoneTestCase): | ||||
|     #20693: Timezone support for the time template filter | ||||
|     """ | ||||
|  | ||||
|     @setup({'time00': '{{ dt|time }}'}) | ||||
|     def test_time00(self): | ||||
|         output = self.engine.render_to_string('time00', {'dt': time(16, 25)}) | ||||
|         self.assertEqual(output, '4:25 p.m.') | ||||
|  | ||||
|     @override_settings(USE_L10N=True) | ||||
|     @setup({'time00_l10n': '{{ dt|time }}'}) | ||||
|     def test_time00_l10n(self): | ||||
|         with translation.override('fr'): | ||||
|             output = self.engine.render_to_string('time00_l10n', {'dt': time(16, 25)}) | ||||
|         self.assertEqual(output, '16:25') | ||||
|  | ||||
|     @setup({'time01': '{{ dt|time:"e:O:T:Z" }}'}) | ||||
|     def test_time01(self): | ||||
|         output = self.engine.render_to_string('time01', {'dt': self.now_tz_i}) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user