Absolute beginner Django guide
Build your first Django blog in 7 days.
One small lesson each day. You will start with an empty folder and finish with a working local blog where you can search, read, and create posts.
No email · no signup · no experience with Django needed
Before starting
You only need the basics.
- Basic Python: variables, lists, dictionaries, functions, and loops
- Basic HTML: headings, paragraphs, links, forms, and classes
- Python installed, a code editor, and about 60–90 minutes per day
Your seven days
Learn one connection at a time.
Each day starts from yesterday’s working project. Follow the steps in order, complete the checkpoint, then stop. Taking longer than seven calendar days is completely fine.
- Day 1
Start Django and open your first page
Create the project, add a blog app, and connect a URL to a simple Python view.
- Time
- 60–90 minutes
- You finish with
- A Django server running with your own homepage.
- Day 2
Build a template and show sample posts
Move HTML out of the Python view, pass a small list through context, and display it with a template loop.
- Time
- 60–90 minutes
- You finish with
- A real HTML page showing three sample blog posts.
- Day 3
Make the blog look good with CSS
Create Django’s static-file folders, connect one stylesheet, and add a small responsive design.
- Time
- 60–90 minutes
- You finish with
- A clean, responsive blog page with styled post cards.
- Day 4
Add a simple search box
Send a search with GET, read it from request.GET, and filter the temporary Python list.
- Time
- 60–90 minutes
- You finish with
- Visitors can search the sample posts by title or description.
- Day 5
Save real posts with a model and admin
Create a Post model, run migrations, add an admin account, and replace the temporary list with database records.
- Time
- 90–120 minutes
- You finish with
- Posts saved in SQLite and managed through Django admin.
- Day 6
Open each post on its own page
Add a URL containing a post ID, find that post safely, and render a detail template.
- Time
- 60–90 minutes
- You finish with
- Every post title opens a page with the full article.
- Day 7
Create posts with a Django form
Build a ModelForm, handle GET and POST, include CSRF protection, save, and redirect to the new post.
- Time
- 90–120 minutes
- You finish with
- A local form that validates and saves a new blog post.
Finished after Day 7
A small project you understand.
You will have used the complete beginner Django loop: URL → view → template, static CSS, GET search, model → database → admin, detail pages, and a POST form.
