Opened 11 months ago

Closed 11 months ago

Last modified 9 months ago

#35142 closed Cleanup/optimization (needsinfo)

DATE and DATETIME settings have no effect since USE_L10N was deprecated

Reported by: Paul Owned by: nobody
Component: Internationalization Version: 5.0
Severity: Normal Keywords: USE_L10N, localization
Cc: Claude Paroz Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Paul)

Since 5.0 USE_L10N settings was DEPRECATED and is always True.

Now settings like DATE_FORMAT, DATETIME_FORMAT, DATE_FORMAT_INPUTS etc.. don't work because as per documentation:
"Note that the locale-dictated format has higher precedence and will be applied instead. But now locale-dictated formats are always enabled."
Now locale-dictated formats will always have higher precedence.

It alse breaks editing on all ModelForms which have date and datetime fields because the input is expecting ISO format, but Django forcefully localizes the value attribute to another format.

I've found a solution but overriding the formats.py file using the FORMAT_MODULE_PATH setting. I think at least the documents should make it clear you can do that.

DEMO PROJECT: https://github.com/paulik123/django-demo-l10n

Change History (4)

comment:1 by Mariusz Felisiak, 11 months ago

Component: UncategorizedInternationalization
Resolution: needsinfo
Status: newclosed
Type: BugCleanup/optimization

It alse breaks editing on all ModelForms which have date and datetime fields because the input is expecting ISO format, but Django forcefully localizes the value attribute to another format.

I don't think that it's true, can you provide a sample project that reproduces your issue.

I've found a solution but overriding the formats.py file using the FORMAT_MODULE_PATH setting. I think at least the documents should make it clear you can do that.

True, if you don't like formats provided for a language you're working with, you can use FORMAT_MODULE_PATH to specify your own format definitions. This setting is documented, I'm not sure what else are you trying to propose.

in reply to:  1 comment:2 by Paul, 11 months ago

I don't think that it's true, can you provide a sample project that reproduces your issue.

I've created a demo project at https://github.com/paulik123/django-demo-l10n
Just create a demo object then click edit.

True, if you don't like formats provided for a language you're working with, you can use FORMAT_MODULE_PATH to specify your own format definitions. This setting is documented, I'm not sure what else are you trying to propose.

Yes, but not specifying that all format settings (DATE_FORMAT, DATETIME_FORMAT etc) won't work if you just paste them settings.py seems confusing to me. I think at least a note should be added saying that to modify these settings you need to override formats.py

Replying to Mariusz Felisiak:

comment:3 by Paul, 11 months ago

Description: modified (diff)

comment:4 by Natalia Bidart, 9 months ago

Cc: Claude Paroz added

I missed this ticket yesterday when triaging #35306 but I think they are the same issue (documentation could benefit from some explicitness).

Note: See TracTickets for help on using tickets.
Back to Top