"One of the most powerful parts of Django is the automatic admin interface. It reads metadata in your model to provide a powerful and production-ready interface that content producers can immediately use to start adding content to the site."
"One of the most powerful parts of Django is the automatic admin interface. It reads metadata from your models to provide a quick and rudimentary interface where trusted users can manage content on your site.
The admin has many hooks for customization but beware of trying to use those hooks exclusively. If your needs outgrow what the admin provides, it may be simpler to write your own views. The admin’s recommended use is as an organization’s internal management tool. It’s not intended for building your entire front end around."
The introduction to the admin in the docs [0] reads:"One of the most powerful parts of Django is the automatic admin interface. It reads metadata in your model to provide a powerful and production-ready interface that content producers can immediately use to start adding content to the site."
I've proposed [1] changing it to:"One of the most powerful parts of Django is the automatic admin interface. It reads metadata from your models to provide a quick and rudimentary interface where trusted users can manage content on your site.
The admin has many hooks for customization but beware of trying to use those hooks exclusively. If your needs outgrow what the admin provides, it may be simpler to write your own views. The admin’s recommended use is as an organization’s internal management tool. It’s not intended for building your entire front end around."
However several reviewers have made comments like "I worry that the description of the Admin sells it short. The Admin is actually brilliant kit and works as advertised." and "Downgrading Django's admin from "powerful and production ready" to "quick and dirty [old wording]" is very harsh... And I fear this will not only lower user's expectations, but also dev's carefulness!"
I think part of the reason I raise this is that I'm getting weary of adding hook after hook for customizing every little thing. I worry we'll end up with an unmaintainable mess at some point.
The latest proposal that has me thinking about this adds ModelAdmin.orderable_by and ModelAdmin.get_orderable_by() for the use case of disabling sorting of a column in the change list [2]. This topic also came up in the discussion of whether or not to add ModelAdmin.exclude and ModelAdmin.get_exclude() [3] (which hasn't been done yet). There's also an open question about whether or not to add a view permission [4]. I don't want to discuss each of these decisions on this thread but rather the broader question of whether putting a lot of effort in this area is a direction we should pursue. I know there have been some proposals of "admin2" but realistically I think the admin has too many customizations points such that superseding it with something new and innovative won't be feasible from a backwards compatibility standpoint.
The introduction to the admin in the docs [0] reads:"One of the most powerful parts of Django is the automatic admin interface. It reads metadata in your model to provide a powerful and production-ready interface that content producers can immediately use to start adding content to the site."
I've proposed [1] changing it to:"One of the most powerful parts of Django is the automatic admin interface. It reads metadata from your models to provide a quick and rudimentary interface where trusted users can manage content on your site.
The admin has many hooks for customization but beware of trying to use those hooks exclusively. If your needs outgrow what the admin provides, it may be simpler to write your own views. The admin’s recommended use is as an organization’s internal management tool. It’s not intended for building your entire front end around."
However several reviewers have made comments like "I worry that the description of the Admin sells it short. The Admin is actually brilliant kit and works as advertised." and "Downgrading Django's admin from "powerful and production ready" to "quick and dirty [old wording]" is very harsh... And I fear this will not only lower user's expectations, but also dev's carefulness!"
I think part of the reason I raise this is that I'm getting weary of adding hook after hook for customizing every little thing. I worry we'll end up with an unmaintainable mess at some point. The latest proposal that has me thinking about this adds ModelAdmin.orderable_by and ModelAdmin.get_orderable_by() for the use case of disabling sorting of a column in the change list [2]. This topic also came up in the discussion of whether or not to add ModelAdmin.exclude and ModelAdmin.get_exclude() [3] (which hasn't been done yet). There's also an open question about whether or not to add a view permission [4]. I don't want to discuss each of these decisions on this thread but rather the broader question of whether putting a lot of effort in this area is a direction we should pursue. I know there have been some proposals of "admin2" but realistically I think the admin has too many customizations points such that superseding it with something new and innovative won't be feasible from a backwards compatibility standpoint.
[0] https://docs.djangoproject.com/en/dev/ref/contrib/admin/
[1] https://github.com/django/django/pull/6104
[2] https://github.com/django/django/pull/6107
[3] https://groups.google.com/d/topic/django-developers/WrnhmTyLHuY/discussion
[4] https://groups.google.com/d/topic/django-developers/X7YEGB9KJNc/discussion
--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/72ecc667-1dba-432e-a749-dca214fa77b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I can't help but feel that the "admin is very rudimentary and hard to customize" is perpetually overplayed by many in the community. Maybe I'm suffering Stockholm Syndrome but I'd like to raise a dissenting voice.I find it the quickest and most efficient way to provide an admin interface for staff users. It's remarkably easy to customize in my view (and I've done a heck of a lot of it). If it didn't exist I'd have to invent something damn similar. :)More importantly - it's not an either/or decision. I always recommend starting with the admin - use the available hooks and means of customization and when you really, truely hit a brick wall - then remember "It's just Django" - drop down to a custom view that uses the admin base templates and CSS and easily integrates with other admin pages. The beauty of this is that you can carry on using the admin for everything else where it still provides easy wins.Warning people away means they are less likely to discover the many simple customization hooks and they are more likely to spend time reinventing the wheel.If the admin was truly as limited as some make it out to be, then one of the many attempts to replace it would have gained momentum. I'm not saying it couldn't be replaced with something better - but it's far from being something we should cover in warnings and caveats.Sigh. I perpetually intend to write tutorials to help demystify admin customization - but I've sadly perpetually failed to find the time...
On Tuesday, 9 February 2016 23:25:20 UTC, Tim Graham wrote:The introduction to the admin in the docs [0] reads:"One of the most powerful parts of Django is the automatic admin interface. It reads metadata in your model to provide a powerful and production-ready interface that content producers can immediately use to start adding content to the site."
I've proposed [1] changing it to:"One of the most powerful parts of Django is the automatic admin interface. It reads metadata from your models to provide a quick and rudimentary interface where trusted users can manage content on your site.
The admin has many hooks for customization but beware of trying to use those hooks exclusively. If your needs outgrow what the admin provides, it may be simpler to write your own views. The admin’s recommended use is as an organization’s internal management tool. It’s not intended for building your entire front end around."
However several reviewers have made comments like "I worry that the description of the Admin sells it short. The Admin is actually brilliant kit and works as advertised." and "Downgrading Django's admin from "powerful and production ready" to "quick and dirty [old wording]" is very harsh... And I fear this will not only lower user's expectations, but also dev's carefulness!"
I think part of the reason I raise this is that I'm getting weary of adding hook after hook for customizing every little thing. I worry we'll end up with an unmaintainable mess at some point. The latest proposal that has me thinking about this adds ModelAdmin.orderable_by and ModelAdmin.get_orderable_by() for the use case of disabling sorting of a column in the change list [2]. This topic also came up in the discussion of whether or not to add ModelAdmin.exclude and ModelAdmin.get_exclude() [3] (which hasn't been done yet). There's also an open question about whether or not to add a view permission [4]. I don't want to discuss each of these decisions on this thread but rather the broader question of whether putting a lot of effort in this area is a direction we should pursue. I know there have been some proposals of "admin2" but realistically I think the admin has too many customizations points such that superseding it with something new and innovative won't be feasible from a backwards compatibility standpoint.
[0] https://docs.djangoproject.com/en/dev/ref/contrib/admin/
[1] https://github.com/django/django/pull/6104
[2] https://github.com/django/django/pull/6107
[3] https://groups.google.com/d/topic/django-developers/WrnhmTyLHuY/discussion
[4] https://groups.google.com/d/topic/django-developers/X7YEGB9KJNc/discussion
--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/26f81439-3648-40cf-9a46-fceb5ccabba1%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/363c6710-b75f-40d5-a790-f0ab98aa5635%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAMwjO1Gku272bs0uUOqsTV7jAYX_4cPHqdKhoVyCcQZEuW4Mag%40mail.gmail.com.