#28403 closed Cleanup/optimization (fixed)
Improve the example for FORMAT_MODULE_PATH and add missing formats
Reported by: | karyon | Owned by: | Ashaba John |
---|---|---|---|
Component: | Documentation | Version: | 1.11 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
two issues with the documentation for FORMAT_MODULE_PATH:
first, it suggests to create this directory structure:
mysite/ formats/ __init__.py en/ __init__.py formats.py
since i didn't like adding a new formats
folder for that, i first did not use FORMAT_MODULE_PATH
. then i realized i could use the locale path for that, and then i saw that even django itself does that. so, my first suggestion is to replace formats/
by locale/
in that directory structure, and maybe even explicitly add a sentence how the locale directory can be used for the formats.
second, the docs say something about "available formats are:" and then a long list of settings. to me it seems like DATE_INPUT_FORMATS
and DATETIME_INPUT_FORMATS
are missing from this list. if they were excluded for a specific reason, that should be stated there as well.
Change History (10)
comment:1 by , 7 years ago
Summary: | FORMAT_MODULE_PATH documentation lacking → Improve the example for FORMAT_MODULE_PATH and add missing formats |
---|---|
Triage Stage: | Unreviewed → Accepted |
comment:2 by , 7 years ago
To be specific, with "locale path" I meant the LOCALE_PATHS setting as far as I understand, the code for determining the format locale locations does not look into LOCALE_PATHS. So yes, as far as I understand one has to specify FORMAT_MODULE_PATH besides LOCALE_PATHS.
I'm using LOCALE_PATHS for translations. Initially I though that any project using FORMAT_MODULE_PATH also has translations and therefore uses LOCALE_PATHS anyways, but from a quick github search that doesn't seem to be the case. so now I wouldn't replace formats
} by locale
, but rather simply mention that the locale structure can be used.
Actually from my point of view it would make sense to merge these settings. You specify where the locales are, and in there there might be translations and/or formats. Or, one could at least make FORMAT_MODULE_PATH look into LOCALE_PATHS by default. However, the former is a python path while the latter is a normal path with slashes. But maybe, since this has been like that for 8 years according to git blame, maybe this doesn't need fixing :)
https://github.com/django/django/blob/550cb3a365dee4edfdd1563224d5304de2a57fda/django/utils/formats.py#L62
comment:3 by , 7 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:6 by , 7 years ago
Patch seems good for adding the missing settings. We should probably take that.
I'm not sure about the comment about re-using locale paths... (There is obviously some overlap between the two settings, but a clean up is a separate issue, maybe worth the effort or not.)
@karyon: what's your thought on this now?
comment:7 by , 7 years ago
+1 on merging the PR.
the way i see it the possible solutions for the other part are:
- merge the two settings. might not be worth it, and maybe there's some reason we didn't see yet to not merge them.
- make FORMAT_MODULE_PATH look into LOCALE_PATHS by default. Not sure whether that is nice since they are using different formats
- the minimum we can do is mention in the docs for FORMAT_MODULE_PATH that it can be set to the same path (albeit in a different format) as LOCALE_PATHS to re-use the directory structure.
comment:8 by , 7 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
Is there a need to use
FORMAT_MODULE_PATH
if you use thelocale
structure? Are you adding other files in there besides formats? I don't know enough one way or another to say that the original decision to use a directory calledformats
isn't better. Perhaps you can propose a patch to clarify exactly what you did differently.The second point about the missing formats seems valid. For future reference, I'd have created two tickets rather than grouping somewhat related issues together.