Ask HN: Why aren't Django Admin style dashboards popular in other frameworks?
It&#x27;s probably a combination of things.<p>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.<p>Many tools like Flask or FastAPI don&#x27;t have an opinionated model layer like Django. Without that, you can&#x27;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&#x27;s no convention around how people set up data access? A lot of frameworks out there don&#x27;t tell you &quot;access your data in this way&quot; or &quot;this is how users will be authenticated.&quot; Without those two things, it&#x27;s hard to really create an admin system.<p>There are similar systems available for some frameworks, but since they aren&#x27;t part of the core framework, they don&#x27;t get the same attention. Someone creates it, but it doesn&#x27;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&#x27;t intend for it to be in the core of Django forever, but that&#x27;s not really how `django.contrib` ended up. It continued to be a core part of Django maintained as part of the framework.<p>Like I said, there are admin dashboards available in other frameworks like RailsAdmin (<a href="https:&#x2F;&#x2F;github.com&#x2F;railsadminteam&#x2F;rails_admin">https:&#x2F;&#x2F;github.com&#x2F;railsadminteam&#x2F;rails_admin</a>) or Core Admin for .NET (<a href="https:&#x2F;&#x2F;github.com&#x2F;edandersen&#x2F;core-admin">https:&#x2F;&#x2F;github.com&#x2F;edandersen&#x2F;core-admin</a>) and I&#x27;m sure there&#x27;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&#x2F;authorization so the admin can work off that. Rails doesn&#x27;t have auth, but RailsAdmin uses some plugins.<p>There&#x27;s even Flask-Admin: <a href="https:&#x2F;&#x2F;flask-admin.readthedocs.io&#x2F;en&#x2F;latest&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;flask-admin.readthedocs.io&#x2F;en&#x2F;latest&#x2F;</a>. 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&#x27;t generally written with Flask-Admin in mind and because Flask doesn&#x27;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.