For most modern websites, 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: the interface you use to post to your blog, the backend site managers use to moderate user-generated comments, the tool your clients use to update the press releases on the website 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. In this chapter we will be exploring Django's automatic admin...