Backend & web applications
Little Lemon · Django
A database-driven restaurant website: menu and dish pages generated from Django models, managed by staff from a customised admin.
- Individual project
- lines of code to change to edit the menu
- 0
- Django, major version
- 5
01Starting point
Context & mission
The problem
A menu hardcoded in HTML means touching the code every time a dish or a price changes.
The mission
Build a restaurant site where the menu lives in the database and is managed without a developer.
My role
Designed and built on my own.
02Execution
What I did
Data-driven menu
Dishes fetched through the Django ORM, sorted alphabetically, with a detail page for each dish.
Dish images
Images stored through ImageField, processed with Pillow and shown in the menu and dish pages.
Customised admin
Custom displayed columns and search: staff add, edit and delete dishes without touching code.
Reusable templates
Template inheritance, class-based views and responsive CSS without a heavy framework.
03Design
Architecture
Django’s Model-View-Template architecture: routing leads to views, which read models through the ORM (SQLite) and render templates.
- Browser
- URL routing
- ViewsClass-based
- Models · ORM
- SQLite
- Django AdminMenu management
- TemplatesInheritance
04Impact
Results
- A menu managed entirely from the admin.
- Consistent pages thanks to template inheritance.
05Wrap-up
Takeaways
What this project provesThat I separate content from code from the start: staff manage, the site follows.
06Technology
Full stack
- Python
- Django 5
- Django ORM
- SQLite
- Pillow
- HTML
- CSS