Admin for Symfony Framework ( PHP ) https://symfony.com/bundles/EasyAdminBundle/current/index.ht... Admin for Laravel (PHP) https://nova.laravel.com/ Java Spring Boot https://docs.spring-boot-admin.com/current/getting-started.h... I think many other Frameworks have this, did you search for it?
The Spring one linked above is not really comparable to Django admin in my opinion. In particular it doesn’t integrate with your data model at all - it essentially just shows actuator endpoints.
Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
51–60 of 86 posts
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#52ActiveAdmin in rails
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#53Admin for Symfony Framework ( PHP ) https://symfony.com/bundles/EasyAdminBundle/current/index.ht... Admin for Laravel (PHP) https://nova.laravel.com/ Java Spring Boot https://docs.spring-boot-admin.com/current/getting-started.h... I think many other Frameworks have this, did you search for it?
Phoenix has Kaffy: https://github.com/aesmail/kaffy Super-simple to set up and it's been perfectly adequate for my app's needs so far. To answer OP's original question: Django Admin isn't a killer feature because the same kind of thing is available for most other Django-like frameworks, with the only difference being that it's usually a third party library rather than something built into the framework itself.
The problem with third-party libraries for this kind of thing is that there's no guarantee that they will be maintained in lockstep with the underlying framework.
What if they get abandoned? Or a new version of the framework comes out with new features but the third-party library takes months to add support for them?
I think this may be an aspect of Django that isn't appreciated nearly as much as it should be: batteries included means that the feature you depend on are guaranteed to be maintained and documented at the same pace as the rest of the framework.
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#54Can you clarify what's the "tremendous value" you're getting out of the Django admin? At Heii On-Call https://heiioncall.com/ we are using Active Admin https://activeadmin.info/ for Ruby on Rails, which seems quite similar to the Django admin. In my experience, it's mostly useful as a fairly basic read-only view of what's in the database. In Rails, it's so easy to whip together a custom view that we tend to do that,…
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#55Mostly because it is dangerous (or was). For example, an integer that can only be 1, 2, or 3. In the admin (way back in the day, at least), someone could go into the admin and set it to 4. Which would then break everything in subtle ways. Also, most applications have constraints like "X can only be 2 if and only if Y is equal to Z" ... there was no way to specify that constraint to the admin interface, so someone cou…
(You still have to do the work, but if people are breaking things through the admin that's your fault.)
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#56Admin for Symfony Framework ( PHP ) https://symfony.com/bundles/EasyAdminBundle/current/index.ht... Admin for Laravel (PHP) https://nova.laravel.com/ Java Spring Boot https://docs.spring-boot-admin.com/current/getting-started.h... I think many other Frameworks have this, did you search for it?
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#57The Django Admin existed before Django publicly existed. That meant that once anyone started using Django they knew that they should constrain their use of Django in certain ways so that the Django Admin would work with their usage. Features that would be added to Django would be built with the Django Admin in mind.
Many tools like Flask or FastAPI don't have an opinionated model layer like Django. Without that, you can't really create an admin interface programatically. People could be storing their data in any sort of fashion anywhere. How would one build an admin system for something like Flask or FastAPI where there's no convention around how people set up data access? A lot of frameworks out there don't tell you "access your data in this way" or "this is how users will be authenticated." Without those two things, it's hard to really create an admin system.
There are similar systems available for some frameworks, but since they aren't part of the core framework, they don't get the same attention. Someone creates it, but it doesn't have the kind of community buy-in that sustains it. One of the odd things about Django is that the admin system is under `django.contrib` which indicated that they didn't intend for it to be in the core of Django forever, but that's not really how `django.contrib` ended up. It continued to be a core part of Django maintained as part of the framework.
Like I said, there are admin dashboards available in other frameworks like RailsAdmin (https://github.com/railsadminteam/rails_admin) or Core Admin for .NET (https://github.com/edandersen/core-admin) and I'm sure there's more. However, both Rails and .NET provide most of what Django provides (and a lot more than most frameworks). Rails and .NET both have a default data access ORM that a majority of people using those frameworks tend to use. .NET has built-in authentication/authorization so the admin can work off that. Rails doesn't have auth, but RailsAdmin uses some plugins.
There's even Flask-Admin: https://flask-admin.readthedocs.io/en/latest/. However, if you start reading through the docs you start seeing that you have to solve more than just dropping it in. How do you do auth and permissions? Have you used SQLAlchemy, MongoEngine, PeeWee, or PyMango to access your data? No? Well, you might need to write a way for it to actually figure out your data. Because Flask apps aren't generally written with Flask-Admin in mind and because Flask doesn't offer a default path for things like models and auth, it becomes a harder and more varied task to create a generic admin system.
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#58It's probably a combination of things. The Django Admin existed before Django publicly existed. That meant that once anyone started using Django they knew that they should constrain their use of Django in certain ways so that the Django Admin would work with their usage. Features that would be added to Django would be built with the Django Admin in mind. Many tools like Flask or FastAPI don't have an opinionated mode…
While I was looking for something for us to upgrade off of Django admin to, it seems like the main presence here is something like ReTool or Airplane.dev. The common consensus in these tools seems to be that the way to build admin dashboards in a framework-agnostic way is to build drag'n'drop interfaces and then have lots of little individually deployable scripts which run SQL queries.
This seems like such a sad state of affairs. Do you know of any tools that are able to cope with data storage agnosticism in a way that feels more like software engineering?
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#59I've been out of web development for about four years now, but I think Django is unusual in providing the admin dashboard for free. Most frameworks don't want to devote the resources to that when there are third-party options you can fairly easily (ha ha) bolt on to your project. Speculatively, it may be that Django comes from a time before such a wide variety of self-service solutions existed, and based on the newsp…
Re: Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
#60I've been out of web development for about four years now, but I think Django is unusual in providing the admin dashboard for free. Most frameworks don't want to devote the resources to that when there are third-party options you can fairly easily (ha ha) bolt on to your project. Speculatively, it may be that Django comes from a time before such a wide variety of self-service solutions existed, and based on the newsp…
We originally created Django as a CMS for some newspaper websites. We didn't even think of it as a framework - we called it "the CMS" for the first ~10 months that we were working on it. https://simonwillison.net/2010/Aug/24/what-is-the-history/