Django comes with a brilliant admin interface. This can be used to add, edit, delete and view all of the data connected to our project. We can also add custom features and similar.
Let's say that we wanted to add a few tasks. We can use the shell or we can do this programmatically, but that's not very convenient right now. So let's create a superuser and log in.
Creating a superuser
Django comes with an authentication system. And this system has roles and permissions out of the box. So if you create a new user, that user will not automatically have access to the admin interface. We need permissions to do this. So in our case, we're going to create something called a superuser.
Let's go to the command line, and run this command:
$ python3 manage.py createsuperuser
Just follow the wizard and select a username, password and email. When that's done, we can run the webserver again.
$ python3 manage.py runserver
Btw, the admin interface is actually one of the other predefined INSTALLED_APPS inside the settings.py file. You can also see in the urls.py file that the admin interface has been added there.
Once you're logged in, you will see that we can see users and groups. If you click the users link, you will see the superuser you just created. If you want to do some changes to it, just give it a try :-)
Registering the task model
So where is the "task" model? Eventhough we registered our app in INSTALLED_APPS and similar, it doesn't automatically appear here in the admin interface. But luckily for us, it's very easy to do so.
Open up the file "task/admin.py" and add the following content to it:
from .models import Task
admin.site.register(Task)
First, we import the database model. We can use ".models" to refer to the models.py file since we're in the same folder. Next, we use a function from django to register the model.
If you go back to the admin interface and refresh now, you will see that the task model is there. Go ahead and add a few test tasks.
We will come back to the admin interface later and do some customizations here. We are going to add search, filters and some other cool things.
Table of contents
- 1. Introduction
- 2. Installation and setup
- 3. How things work
- 4. The first Django app
- 5. Your first view
- 6. Your first template
- 7. Testing our site
- 8. Extending templates
- 9. Your first model
- 10. The admin interface
- 11. Showing contents from the model
- 12. Another app (category)
- 13. Connecting two models
- 14. Show list of categories
- 15. Category detail page