In my opinion, one of the following changes should be made:
1. All contrib apps should follow the convention for verbose_names used by
the default ``AppConfig``
2. The default ``AppConfig`` should follow the same convention for verbose
name as the contrib apps
3. The admin template should force all app names to use the same title
convention (eg, ``{% verbose_name|title %}``)
I'm in favor of any of these options -- the main goal here is consistency.
--
Ticket URL: <https://code.djangoproject.com/ticket/22070>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* cc: bendavis78 (added)
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:1>
* keywords: admin => admin app-loading
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:2>
* stage: Unreviewed => Accepted
Old description:
> The base ``AppConfig`` class uses ``self.label.title()`` for verbose_name
> if verbose_name is not supplied. The new AppConfigs in ``django.contrib``
> use lowercase verbose names. This causes the admin index to look a bit
> sloppy when old-style apps are capitalized while new-style apps are all
> lowercase.
>
> In my opinion, one of the following changes should be made:
>
> 1. All contrib apps should follow the convention for verbose_names used
> by the default ``AppConfig``
> 2. The default ``AppConfig`` should follow the same convention for
> verbose name as the contrib apps
> 3. The admin template should force all app names to use the same title
> convention (eg, ``{% verbose_name|title %}``)
>
> I'm in favor of any of these options -- the main goal here is
> consistency.
New description:
The base `AppConfig` class uses `self.label.title()` for verbose_name if
verbose_name is not supplied. The new AppConfigs in `django.contrib` use
lowercase verbose names. This causes the admin index to look a bit sloppy
when old-style apps are capitalized while new-style apps are all
lowercase.
In my opinion, one of the following changes should be made:
1. All contrib apps should follow the convention for verbose_names used by
the default `AppConfig`
2. The default `AppConfig` should follow the same convention for verbose
name as the contrib apps
3. The admin template should force all app names to use the same title
convention (e.g., `{% verbose_name|title %}`)
I'm in favor of any of these options -- the main goal here is consistency.
--
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:3>
* status: new => assigned
* cc: jenkinsbr2 (added)
* owner: nobody => jenkinsbr2
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:4>
Comment (by jenkinsbr2):
This seems like a good ticket for me to get my feet wet with a
contribution. I'd just like to clarify a couple of things and see if my
thinking is correct. Going through listed options, I'd tend to immediately
discard option 2 - seems to me that title case is what we would want here.
At first I thought option 3 would be the most elegant solution, however I
realized that that will not take care of other instances in the page
title, header, and breadcrumbs - do we care about title casing in those
spots? I think the title case is generally nicer looking and of course the
title filter could be added in several locations in the template, but
unnecessary filters cluttering the template seems undesirable. All
considered option 1 seems to be the easiest and most comprehensive change.
My question is: do I simply change each instance of apps.py in
`django.contrib.*` to reflect the correct title cased verbose name? Would
it be more desirable to change the string or to call `.title()` on it?
I appreciate any feedback (and patience with dumb questions!)
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:5>
Comment (by mjtamlyn):
I think we should change the strings to be title case. Calling `title()`
is a dead end - you might want the string to start with a lower case
letter, eg `"mYk's Gallery"`.
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:6>
* has_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:7>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"ec675ed6ccd1ad80e289dc01275e225552c489a3"]:
{{{
#!CommitTicketReference repository=""
revision="ec675ed6ccd1ad80e289dc01275e225552c489a3"
Fixed #22070 -- Changed verbose_name for apps in django.contrib to use
title case
Thanks bendavis78 for the report.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:8>
Comment (by aaugustin):
I disagree with that commit and I think it must be reverted.
Application names must be lower case for the same reason model names are
lower case.
If templates need an title-cased version, they can title-ize or capitalize
the value.
I've been working on a patch since last week-end and I hope to complete it
this week-end.
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:9>
* status: closed => new
* component: contrib.admin => Core (Other)
* resolution: fixed =>
* type: Cleanup/optimization => Bug
* severity: Normal => Release blocker
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:10>
* status: new => closed
* resolution: => fixed
Comment:
I changed my mind: https://groups.google.com/d/msg/django-
developers/t3hnHQAhEg8/kdLfb2m1BE8J.
I'll reopen the ticket again if the discussion brings up new ideas.
--
Ticket URL: <https://code.djangoproject.com/ticket/22070#comment:11>