Auth, APIs & ProjectCore· 180 min read

Project: Build a Django App

Build a complete, database-driven web app with Python and Django.

What you will learn

  • Combine models, views, templates and the admin
  • Build full CRUD
  • Add login

The brief

Build a real app — a blog, a task manager, a notes app, or a simple shop — using everything you have learned.

Requirements

  • A project with at least one app and a model.
  • Migrations run; data manageable in the admin.
  • Pages to list and view records (templates + ORM).
  • A form to add records (with {% csrf_token %}).
  • Edit and delete (full CRUD).
  • A simple login protecting the create/edit/delete pages.

Build it in order

Do not try to build everything at once. Follow these steps in order — each one builds on the last, and each comes straight from a lesson you have already done:

  1. Set up the project and an app, then run the dev server (the Setting Up Django lesson).
  2. Write your model in models.py, then run makemigrations and migrate to create the table (the Models & Migrations lesson).
  3. Create a superuser and register the model in admin.py, then add a few records through /admin (the Admin & ORM lesson).
  4. Build a list page: a view that calls objects.all() and a template that loops over the records (the Templates and CRUD lessons).
  5. Add a create form with {% csrf_token %} and a view that saves the submitted data (the CRUD & Forms lesson).
  6. Add edit and delete views to finish full CRUD.
  7. Add login and put @login_required on the create, edit and delete views so only signed-in users can change data (the Users & Authentication lesson).

Tip: Build one piece at a time: model → admin → list page → add form → edit/delete → login. A small finished app beats a big unfinished one.

Note: When this works you’ve built a full Python web application — exactly what a junior Django developer does on the job. Add it to your portfolio!

✍️ Practice

  1. Build the app meeting all six requirements.
  2. Test create, read, update, delete and login.

🏠 Homework

  1. Write a short README describing your app and add it to GitHub.
Want to learn this with a mentor?

CodingClave runs guided, project-based training (28-day, 45-day & 6-month batches).

Explore Training →