#34069 closed Cleanup/optimization (duplicate)
get_language_from_request should not fallback to settings.LANGUAGE_CODE
Reported by: | sergioisidoro | Owned by: | sergioisidoro |
---|---|---|---|
Component: | Internationalization | Version: | 4.1 |
Severity: | Normal | Keywords: | i18n get_language_from_request middleware |
Cc: | 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 )
I'm writing a middleware to fallback to a different language depending on the TLD of the domain of the HTTP_HOST
However, I noticed that get_language_from_request
falls back to the settings default language, which will almost always take precedence in this case.
This is quite confusing, since settings.LANGUAGE_CODE
is not "from the request", but from the application configuration, and it feels that the responsibility of falling back to the default language should lie in the Middleware, not in this function.
Solution / Summary: get_language_from_request
should return None, to communicate to the middleware that there was no language from request, and that the middleware should fallback to the default. Otherwise if the get_language_from_request
returns "EN" we don't know if "EN" is actually a request preference, or because it came from the default settings.LANGUAGE_CODE
Change History (12)
comment:1 by , 2 years ago
Description: | modified (diff) |
---|
comment:2 by , 2 years ago
Has patch: | set |
---|
comment:3 by , 2 years ago
Triage Stage: | Unreviewed → Accepted |
---|
Reading the rationale and looking at the draft PR, I'm rather sympathetic to the idea.
comment:4 by , 2 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:5 by , 2 years ago
Needs documentation: | set |
---|
follow-up: 7 comment:6 by , 2 years ago
Owner: | changed from | to
---|
Hi Aman,
Sorry the ticket is already being worked on by sergioisidoro :)
comment:7 by , 2 years ago
Replying to David Sanders:
Hi Aman,
Sorry the ticket is already being worked on by sergioisidoro :)
ohh it's fine , my bad i took it without noticing .
comment:8 by , 2 years ago
Needs documentation: | unset |
---|---|
Triage Stage: | Accepted → Ready for checkin |
comment:10 by , 19 months ago
Easy pickings: | unset |
---|---|
Has patch: | unset |
Resolution: | fixed → duplicate |
Triage Stage: | Ready for checkin → Unreviewed |
Duplicate of #29425, see discussion.
Here's a draft PR for this issue: https://github.com/django/django/pull/16142