TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why Is the Django Admin "Ugly"?

142 点作者 ThibWeb超过 1 年前

42 条评论

adrianh超过 1 年前
Hi, one of the creators of Django here (and of the admin specifically).<p>It was definitely not intended to be ugly — the first version was designed by Wilson Miner, a great designer. In fact, an argument could be made that a key reason for Django&#x27;s early success was that the admin was so nicely designed. Same goes for the framework&#x27;s website in general; the standard open-source project website in that era was really plain and uninspiring.<p>To answer &quot;Why is the Django admin ugly?&quot;, I think there are two separate issues:<p>* A gradual bolting on of admin features without enough thought given to visual consistency and elegance. Particularly, the left sidebar (in the screenshot of the original article) was a later addition and looks unpolished.<p>* A misunderstanding of the Django admin&#x27;s goals. It&#x27;s meant to be for &quot;internal use&quot; — that is, it&#x27;s meant to be used by people who <i>operate</i> your website, not by people who <i>visit</i> your website. Ever since we open-sourced Django, many people (through either laziness or lack of understanding) misunderstood the point of the Django admin, thinking it&#x27;s meant to be for end users. It is not and never was.
评论 #38041025 未加载
评论 #38045336 未加载
评论 #38043084 未加载
评论 #38040540 未加载
评论 #38050339 未加载
评论 #38041178 未加载
评论 #38040836 未加载
评论 #38041567 未加载
评论 #38041176 未加载
mdasen超过 1 年前
I actually love the way the Django Admin UI looks, but it does go against the grain of the current trends in UI design by being a bit explicit. For example, the &quot;add post&quot; button looks like a button rather than just being words and there are borders demarcating boundaries between sections. I think it&#x27;s both good looking and a lot more usable than the current trends in UI design which favor minimalism to the point that it can be hard to discern what is clickable.
评论 #38038004 未加载
评论 #38038547 未加载
评论 #38038275 未加载
评论 #38040542 未加载
chefandy超过 1 年前
In UI design, developers perennially mistake the aesthetics of a design with how well the design functions, generally. Interfaces are a form of <i>communication,</i> and the most important pieces of it are things like visual hierarchy, gestalt, and implied lines to show relationships between elements. Just like any other sort of communication, lay people tend to either say all the right things in a way most people find confusing, or not say enough because the other way is too confusing and assume the problem is what&#x27;s being communicated rather than how it was communicated. Developers putting an interface together ad-hoc tend to do the former, blowing off complaints as people not trying hard enough or reading the docs or whatever. Other developers trying to gussy up the mess the first developer made assuming the problem is aesthetic tend to do the latter, and dismiss complaints by saying things like &#x27;design is subjective&#x27; entirely disregarding the possibility that they did a bad job.<p>An aesthetically pleasing interface is a side effect of someone fluent in that language working hard to figure out how to communicate information, action, cause and effect, etc to the end user. It&#x27;s not an easy language to learn, it&#x27;s important even in relatively trivial cases, and developers trying to wing it are about as good at it as designers cargo-cult assembling PHP to modify a WordPress deployment: It might get the job done in a very basic way, but nobody should convince themselves it&#x27;s a real solution. Just like a developer might look at their interface and say &quot;read the docs&quot; or &quot;design is subjective,&quot; that designer might see how slow their 5-deep for looped set of database queries is and say &quot;this server is too slow&quot; or &quot;why can&#x27;t those damned developers make WordPress faster?&quot;
评论 #38038751 未加载
angrymachine超过 1 年前
(Author here) I personally don&#x27;t think the visual style of the Django admin is ugly. I&#x27;d agree that it looks dated, and also agree that it could use a few minor color and accessibility improvements.<p>My perspective is that we have a new generation of Django devs among us, who grew up using fancy JS frameworks, SaaS dashboards, A.I.-assisted code tools, etc. So for a newcomer seeing the Django admin for the first time, it&#x27;s a bit different.<p>My goal of the article was to capture the tribal knowledge that seems to have not gotten passed down to this new generation.
评论 #38039063 未加载
评论 #38039605 未加载
_joel超过 1 年前
It isn&#x27;t. It&#x27;s simple and functional and designed for its purpose of being a starting point UI bundled with the framework. You can extend with other admin interfaces really easily, but including that as default adds bloat for users that don&#x27;t need that extra eye candy.
评论 #38038023 未加载
评论 #38038048 未加载
paddy_m超过 1 年前
I think the django admin is quite an accomplishment of software engineering and functionality. The amount of functionality you can build quickly is impressive. Sure it might not have the slickest UI, but a lot of those slick frontend features in <i>modern</i> UIs have half thought out semantics and take ages to implement vs django. Django lets you concentrate on the actual business problem , but becomes painful to do extreme customization on. There are multiple styling extensions for django that help.<p>I think there is Trader UI, and VC UI. Trader UI, built for wall st packs every bit of information into every pixel possible. VC UI has rounded corners, nice fonts, drop shadows and half the information on the screen. Django UI actually splits the difference nicely.
评论 #38040865 未加载
评论 #38038314 未加载
matsemann超过 1 年前
I&#x27;ve been places where the admin tool ends up being a frontend for the backend. Like you get so much for free, so it&#x27;s tempting to just add a simple widget to extend the admin with one small feature you&#x27;re missing to make it possible to edit whatever. Instead of building a dedicated frontend for it. So then you give editors or whatever access to modify stuff there. And then they request some changes, and rather than building a frontend from scratch you again tweak the admin panel for some model. And suddenly you&#x27;ve got tens of people doing their daily work in the admin panel and a mess you will have a hard time getting out of.<p>It being ugly is a feature. Don&#x27;t fall for the temptation of giving non-devs access!<p>(But it could have kept it&#x27;s look while still being more friendly to use, though. So many huge selects and difficulties to fill in valid data in some cases)
评论 #38041235 未加载
评论 #38039904 未加载
xnx超过 1 年前
I <i>wish</i> more sites were &quot;ugly&quot; like Django Admin, Craigslist, and Hacker News. We end up with visually &quot;slick&quot;, but low usability, interfaces elsewhere because frontend designers can learn a million different frameworks, but you can&#x27;t teach taste.
vasdae超过 1 年前
What&#x27;s ugly about it? I&#x27;m looking at the screenshot and it looks perfectly fine to me?
评论 #38037847 未加载
评论 #38037923 未加载
评论 #38037945 未加载
评论 #38038649 未加载
评论 #38038740 未加载
kfarr超过 1 年前
Funny, 10 years after running a startup powered by Django I still think of the admin as one of the most functional “out of the box” features of any framework I’ve used. Didn’t matter that it wasn’t “beautiful!”
评论 #38042765 未加载
Waterluvian超过 1 年前
The most brilliant thing about it is how simple and plain it is. I was a dev team of one for years and basically got a mountain of free work because the admin panel exists and is generic enough not to be weird for internal company users.<p>The simplicity also makes extension simple. I could add a few features.
harry_ord超过 1 年前
After reading all of the post I&#x27;m a little confused as to what&#x27;s wrong with it. It looks fine for a UI bundled with a webframework. I can understand some of the comments in the thread mentioning accessibility issues due to colour&#x2F;contrast(only example I saw in the comments here)
k_bx超过 1 年前
I&#x27;m building a small startup and wanted to have some semi-automatically generated admin for it. After looking at all the modern React-based solutions, Django still looked like the easiest way to go. Ugly and non-SPA? Sure. But still very simple to keep working, google has answers to most little tweaks one wants, and easy to manage. Loving it.
评论 #38038400 未加载
评论 #38038714 未加载
rossdavidh超过 1 年前
The django admin looks way better to me than most websites with more fashionable interfaces.
coffeefirst超过 1 年前
On the contrary, I wish more of the software I had to use every day worked more like the Django admin.<p>Is it the shiniest UI? No, but a well configured Django admin is a power tool that stays out of your way.
karaterobot超过 1 年前
When I saw the Django admin interface however many decades ago, it was a revelation. It was so well executed. I agree that it&#x27;s dated, but I don&#x27;t think it&#x27;s ugly: that&#x27;s a difference between fashion and beauty, one of them changes every year and the other doesn&#x27;t.
评论 #38042824 未加载
tjrgergw超过 1 年前
Django Admin is pretty cool.<p>It&#x27;s not uncommon when starting a new project that I pick Django just to have Admin, and then ignore its usual views altogether.
评论 #38038968 未加载
animal_spirits超过 1 年前
There&#x27;s a good plugin called django-admin-interface that cleans up the Admin page to a point where it is still recognizable as the admin page but looks nicer. You also can customize the color themes, matching the palette of the app.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;fabiocaccamo&#x2F;django-admin-interface">https:&#x2F;&#x2F;github.com&#x2F;fabiocaccamo&#x2F;django-admin-interface</a>
cwales95超过 1 年前
I’ve never thought the changing admin interface was ugly. A bit simple compared to others but sleek and pretty usable. No odd surprises.
bityard超过 1 年前
To me, a UI is beautiful when it does what it&#x27;s supposed to do with a minimum amount of effort and cognitive overhead from the user. Aesthetics have zero to do with that and attempts from designers to make something &quot;pretty&quot; usually subtract from functionality. Tools like Django Admin are not an art project, they are meant to do a job.
kapitanjakc超过 1 年前
I am working on django a lot.<p>When clients ask me re-design it, I will deny it.<p>I did the re-design of admin panel once, and what we produced was better in design yes, pretty even, but not usable, people got lost in it thinking it&#x27;s still the main site and not admin panel, and there were only 3 admins, 2 of which were management.<p>In my opinion, it&#x27;s good as it is.
agumonkey超过 1 年前
Ugly would be ok, but crippling is the word that comes to mind when I think django. Or maybe I lack mastery or didn&#x27;t find the right extensions to free myself from the basic admin views for creating ergonomic view on non-simple related models. Inlines are a bit suffocating.
hk1337超过 1 年前
Going by the screenshot they posted, I don&#x27;t think it&#x27;s ugly. It&#x27;s not the fancy JS frontend we&#x27;re probably expecting these days but it&#x27;s nice and it&#x27;s usable.
autonomousErwin超过 1 年前
I love the Django admin minimalistic &quot;ugly&quot; feel. I&#x27;m there just for information about my database. Nothing else.
shadowgovt超过 1 年前
People underestimate the amount of work it takes to tweak aesthetics, much less come up with a coherent design language that is intuitive and straightforward for users to learn.<p>One of the eye openers for me personally was the realization that the Mastodon organization contracted a UX engineer firm. It shows.
etchalon超过 1 年前
The only thing uglier than the Django Admin is all the third-party packages which attempt to make it prettier.<p>Grappelli was OK for a short time, but even it&#x27;s too dated to use now.<p>The number of &quot;What if I used Bootstrap made everything look like a horrible Bootstrap site?&quot; packages is hilarious.
isleyaardvark超过 1 年前
Is it just me or does the Wagtail ModelAdmin replacement look much worse than the default Django admin?
评论 #38042900 未加载
blitzar超过 1 年前
I am certain that if the end user really really cared, a few css tweaks would make if web 3.0 beautiful
BeetleB超过 1 年前
Does Django admin work with Lynx&#x2F;Links&#x2F;Elinks?<p>If yes, it&#x27;s probably better than 95% of other admins.
hdlothia超过 1 年前
I like pocketbase because it&#x27;s basically Django admin with an easier deployment story
评论 #38039463 未加载
malkosta超过 1 年前
I agree…it could be better if it had no css&#x2F;js
wodenokoto超过 1 年前
I thought the screenshot looked rather pleasant.
redder23超过 1 年前
I do not think its Ugly at all, it seems minimalistic, never seen it but compare that to WordPress it seems very relaxing.
cyclotron3k超过 1 年前
A lot of people in this thread seem to think beautiful UI and functional UI are mutually exclusive.
PrimeMcFly超过 1 年前
Seems fine to me. Functional, responsive, clean and easy to understand. Nothing &#x27;ugly&#x27; about it.
orsenthil超过 1 年前
Django admin is the like wordpress admin console. It is for users who administer the website.
syndicatedjelly超过 1 年前
If you’re using the Django admin as a client-facing UI, you’ve made a huge mistake
allanrbo超过 1 年前
I always thought it was quite nice actually. Maybe I have bad taste :-D
SPBS超过 1 年前
If Django Admin is ugly, then everything I make is uglier.
xet7超过 1 年前
Is this because not everything has rounded corners?<p>Only one rounded button?
Tistel超过 1 年前
Dated!? Dated!? You think that is dated looking? Ha! If you want to see dated do an image search for: &quot;Oscar EMR Canada&quot; and you can feast on dated UI. Socialist software forever! Kidding aside, that EMR is used by hundreds of doctors and small hospitals in Canada. Yikes.
评论 #38042923 未加载
stuckinhell超过 1 年前
Django is an artifact from another time period of the web, and I&#x27;d argue it&#x27;s in decline.<p>If you want an admin wrapper around your database, you have better many modern alternatives (I use directus). If you want low code and easy platform, you have bubble.io. If you want an easy api for your database, you can use things like hasura. If you want python frameworks, try fastapi (its third party admin is great). If you want an orm, sqlalchemy gives you more bang for your buck.<p>Many of Django&#x27;s third party packages are out of date. The data science python community has settled on Gradio.<p>The sweet spot of Django seems to have disappeared. Jobs for Django are lower paying, and often more high stress than .net or other languages.<p>Django has a great outreach with it&#x27;s Django Girls, Afro-Django and Django Foundation. However I feel like it&#x27;s technical side needs far more love, the source code needs some major refactoring and cleanup.<p>I thought about this indepth on whether to send my daughter to django girls, or just train her in .net and c# myself.
评论 #38038815 未加载
评论 #38038860 未加载
评论 #38039484 未加载
评论 #38038861 未加载
评论 #38038571 未加载
评论 #38041303 未加载
评论 #38038635 未加载
评论 #38038993 未加载