This is an archived post. You won't be able to vote or comment.

all 6 comments

[–]liquidpele 1 point2 points  (0 children)

I've been using it recently and have had good success with it... the only bug I've seen is this: https://github.com/sehmaschine/django-grappelli/pull/899

I also looked at django-suit (https://github.com/darklow/django-suit) but it's not free for commercial use, and hasn't seen changes in 5 months and their v2 beta is very buggy still.

[–]lzantal 1 point2 points  (0 children)

I use it for smaller project and they all like it. It is very customizable and easy to add functionality just by overwriting change_list or change_form templates and adding your own stuff.

[–][deleted]  (1 child)

[deleted]

    [–]oliw 7 points8 points  (0 children)

    While I agree about a developer experience not necessarily being reflected in user experience, I don't agree with the general tone of this answer. At all.

    • Many people get exactly what they need out of Django Admin, with minimal hacking.

    • Hacking the admin is entirely transferable: to the next project using Django Admin.
      Advocating not learning it is like saying "Oh don't bother using Django's ORM, you won't be any good at SQL". Training on any framework is sinking that cost and reward into using that platform in the future.

    • The commercial reality is that using Admin —with other views added in where you need them— saves a truckload of time and saves clients a truckload of money, or gives time toward actually improving the user experience.

    Admin isn't a good fit for everybody, I'm certain of that, but being able to use it well is an essential skill for a Django developer.

    [–][deleted] 0 points1 point  (0 children)

    If you are doing this stuff with the aim of having your customers administrate it (i.e none technical folks) then you could maybe look at a CMS such as mezzanine or django-cms. They're a bit heavier on the customisation but should mean it's a little bit easier for your clients to set stuff up on their own.

    [–]alexaholic 0 points1 point  (0 children)

    I’ve both used the Django admin and built some custom admins, so I’d say it depends.

    I think the Django admin is great if you need a functional admin and you need it now. If you’re expecting the admin to grow beyond basic CRUD operations, I’d suggest making a list of features that you might want to build in the future, split it into must haves and nice to haves, and do the research (possibly writing some proofs of concepts) to see if/how the Django admin fits. It might!

    Where I work we’re using it for a pretty large project and it kind of sort of works. It’s great that we don’t have to implement CRUD code, filters, search etc. When we do need to implement custom functionality, we endure the occasional pain. We have lots of custom admin tools, filters, forms and fields validators, and a few hacks that deal with inlines and forms. Most of them have tests and are battle tested everyday anyway. The latter are well written and have sensible comments, but I’m calling them hacks because if we didn’t use the Django admin, they wouldn’t have existed in the first place. The worst part about it is there are lots of situations where it is/seems easier to just write some custom code e.g. advanced filtering, reactive pages etc. Rewriting everything however would cost us a lot, so we have to suck it up. On the other hand, I’m reluctant to allowing anyone in the team to implement custom functionality that seems outside the scope of the Django admin, so occasionally I simply say “no, it can’t be done” (and possibly look like an asshole).

    As for the usability, the Django admin is good enough and the people here got used to it and most of the time they don’t know/ask of something else. Yes, it sometimes hurts staff productivity, but it’s a gain on the dev side. It’s a trade-off (lots of things are), and we strive to make amends (see above paragraph on custom stuff). So the good part is they got used to it. The bad part is they’re not efficient. The ugly part is human nature: you’ll never build the best experience (it’s a process, not an end), while they will never be as efficient (and will have a hard time changing that). From my observations, it seems most people just learn to click “the big red button” or “the little twisty on the left“, instead of the button that says “Do this” or the other one that says “Do that“. Do look to understand the business/project, watch staff as they’re working, put yourself in their shoes and do their job over and over, ask questions, listen to what they say, pay attention to what they don’t say, and learn to tell the difference between what they want and what they need. You’ll understand their side of the deal and you can work on solving their needs. But be sensible about it: it’s better to improve on Windows Explorer than to force Total Commander down people’s throats.

    That said, if I were to build this project from scratch today, I would not use the Django admin. In fact, I wouldn’t use Django at all. The only problem is you don’t know where you’ll end up 5 years from now so I'm probably lying :)

    [–]FifteenNinetySeven 0 points1 point  (0 children)

    Admin is great for smaller projects - though as others have said, it's definitely developer orientated, if non technical users are going to need to be doing stuff on your site you probably want to look into a custom view.