For most modern web sites, an admin interface is an essential part of the infrastructure. This is a web-based interface, limited to trusted site administrators, that enables the adding, editing and deletion of site content. Some common examples include the interface you use to post to your blog, the backend site managers use to moderate user-generated comments and the tool your clients use to update the press releases on the web site you built for them.
There’s a problem with admin interfaces, though – it’s boring to build them. Web development is fun when you’re developing public-facing functionality, but building admin interfaces is always the same. You have to authenticate users, display and handle forms, validate input, and so on. It’s boring, and it’s repetitive.
So what’s Django’s approach to these boring, repetitive tasks? It does it all for you.
With Django, building an admin interface is a solved problem. We will be exploring Django’s automatic admin interface – checking out how it provides a convenient interface to our models, and some of the other useful things we can do with it.