Hacker News new | past | comments | ask | show | jobs | submit login
Django UI in 2005 vs. Django UI in 2014 (uninen.net)
89 points by Uninen on Sept 18, 2014 | hide | past | favorite | 21 comments



I still really like main website, the admin site however could do with a total overhaul in my opinion.

I normally use http://djangosuit.com or http://grappelliproject.com but would be nice to have something good by default.


Those strike me more as reskinnings than total overhauls.

The thing about the Django admin interface is that it is very, very generic. This is the source of its power, but also the source of the problem when it comes to styling it. There's nothing to get any design traction on, because all changes have to simultaneously work on just about everything. It's a really potent example of how "generic" and "featureful" are often in direct conflict with each other.

That is to say, not that the Django admin app doesn't have features. It does, it's quite good and useful and a great generic default. But as you start trying to add more, the genericness fights you pretty hard. Django's admin interface hasn't changed because it pretty much hit the local Pareto optima that many years ago.

(And over the years, I'm developing an instinctive twitch whenever my coworkers describe something as "generic". The Django interface is one of the good exceptions, but in general I'm starting to automatically substitute "generic" with "doesn't do anything". It works better than it should.)


I don't know about generic, it's not that extensible, it can be a pain when you want to write widgets outside of what it does.

The same is true about other parts of Django. It's still quick to get things running, and there is a great ecosystem.

[EDIT] Grapelli is a great example of how not-extensible the admin is - to do something that should just be a reskin, they have to copy large parts of the admin code and then adapt it.

The admin should be built in a way so that something like grapelli is just a some new CSS. [/EDIT]


Grapelli chose not to stick to pure CSS. It's not a trade-off I think was worth it as they have no cut themselves off from much of the 3rd party admin extension ecosystem - unless those apps actively do a 'Grapelli version'

Pure CSS skins are a bit more work and you occasionally have to choose between overriding more template code than you'd like - or doing a sneak bit of jQuery DOM manipulation - but it's a better bet long term.

A really simple fix for the core Django team would be to add a heap of {% block %} tags into admin templates so that we can selectively inherit and override.


The django admin is not that nice when you look inside .. hardcoded html strings, it doesn't use templating etc.

The same sort of thing applies to forms and other pieces.

Understanding how models work on the inside is tricky - there are a lot of moving pieces.

I've built many sites with Django, a lot of the time you end up having to delve into the internals, it could definitely do with simplification.


Tom Christie's stretch goals for the Django Rest Framework Kickstarter are worth a peek. :-)


Having had the pleasure of working with him at the company that originally created Django, I can confirm Wilson is the man.


I just got back into Django heavily after a 4 year hiatus -

It's a little frustrating that even though the platform has evolved, the documentation has gotten much much worse.. back in 2008 the docs were one of the best things about Django but today they are just a total headache.

The documentation is impossible to search using the built in search functionality, because it only returns a fraction of the right results. There are tons of omissions - key classes, methods etc that are only mentioned casually in bits and pieces. Lots of pages of documentation you can't even find without Google which half the time indexes docs for pages that are 4 versions outdated...

Also frustrating how much the admin is still frozen in 2008, the options out there for responsive themes are really clumsy at best.

I was trying to introduce junior devs to Django this month and all they see is an outdated interface and really really confusing documentation, it's a real turnoff


Gosh downvoted by Django devs, ouch.. don't want to sound ungrateful, a big amazing open source project built by very smart people, after almost a decade the documentation's bound to get a little unruly..

just been bashing my head against the wall trying to re-master django over the last few weeks and OP's topic hit a nerve


That's odd, I've been using Django for 6 years now and to me it seems like the documentation has improved.


If I had been using it every day since 2008 or so I probably wouldn't have seen the issue. Coming back to djangoproject.com after 4 years, it now feels like kind of a rats nest. Really wish they'd offload the documentation to ReadTheDocs.org, I love the information architecture of that site


They kind of do, if you look at their offline documentation download links they say that they're powered by Read The Docs.



Just updating the admin header styling would be sufficient. That yellow h1 a has got to go. https://github.com/django/django/blob/master/django/contrib/...


I've been suggesting for a while that what Django's admin needs is a completely barebones solution.

Something like

`django-admin startproject mysite --admin-theme=bare`

that gives you an admin with absolutely no JS/CSS and completely modular templates to simplify the making of custom admin backends.

I think I might make this my personal pet project to contribute to Django.


I can't see the point of zeroing the js as I'd end up needing to reimplement most of it.

CSS - however - yes! Our admin skin zeros the existing CSS just by making sure we add an empty CSS file for each of the django admin css files - and that they come afterwards in INSTALLED_APPS and therefore take precedence.

We then add Bootstrap and our own styles. Took less than a day to get it all working nicely and it looks nothing like Django Admin at first glance.


For me it's because I may want to implement it differently in different projects.


I feel that the point the author is making is that this is hurting Django's growth. I'm afraid I agree with that notion. Personally I've looked at Django compared to other frameworks and ,for me at least, spending time skinning the default 2005 theme is not well spent.

It also makes me think Django isn't keeping current. This is a very dangerous sentiment to have in a world of ever competing web frameworks. I feel that Djano is not marketing itself well.

My outsiders perspective, without having ever used Django, is the framework is in decline. That's my outside perspective and I hope it to be wrong. I'd like to reconsider using Django but I'm refraining myself from doing that until I can see change in direction. Maybe it's just not the right framework for me.


>I don’t want to comment this in any other way but to notice that it’s quite amazing that Djangoproject.com still looks so good and I actually like using it every single day — it works really well. Way better than most newer homepages of other open source projects.

Not really sure how the author is making the point that it's dated. Did you read the article? It's probably less text than your comment.


Err, no. That's what you'd assume if you only read the title.

The point is good design is timeless. If it ain't broke, etc.


That's what I love in Django, they tend to keep intact things that are functioning well. A rare quality.

I wish this was the case with many commercial programs, e.g. Skype.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: