A full-featured Django Blog Web Application built with authentication, role-based dashboards, category management, search functionality, and commenting system.
π Live Demo: https://amalaji.pythonanywhere.com/
This project is a complete blog platform where users can:
- Browse blog posts by category
- Search articles
- Register, login, and interact with content
- Comment on posts
- Manage content via dashboards (Admin/Editor/Manager)
Built using Django (Full Stack) following best practices.
- Backend: Django
- Frontend: HTML, CSS, Bootstrap
- Database: SQLite (default)
- Authentication: Django Auth System
- Deployment: PythonAnywhere
- Category-based blog system
- Slug-based SEO-friendly URLs
- Featured & recent posts
- Search functionality
- Custom 404 error page
- Template inheritance
- User Registration
- Login & Logout
- Role-based access control
- Django Groups (Editor / Manager)
- Editor Dashboard
- Manager Dashboard
- Role-based permissions
- Sidebar navigation with active states
- Add Category
- Edit Category
- Delete Category
- Category listing table
- Add Blog Post
- Edit Blog Post
- Delete Blog Post
- Assign logged-in user as author
- Unique slug generation
- Add comments to blog posts
- Display comments
- Only authenticated users can comment
- About Us page
- Social links integration
- Context processors for global data
- Media file handling (image uploads)
- Static file management
This project was built by implementing concepts step-by-step from a structured tutorial:
- Project & app structure
- Models, Views, Templates (MVT)
- Admin customization
- ForeignKey relationships
- Context processors
- Template inheritance
- Custom error handling (404)
- User authentication system
- Groups & permissions
- Role-based dashboards
- Categories & blog posts management
- Form handling
- Validation and slug generation
- Static & media file configuration
- Deployment on PythonAnywhere
- Production setup
django-blog/
βββ blog_main/
βββ templates/
βββ static/
βββ media/
βββ manage.py
βββ requirements.txt
git clone https://github.com/yourusername/django-blog.git
cd django-blogpython -m venv venv
source venv/bin/activatepip install -r requirements.txtpython manage.py migratepython manage.py createsuperuserpython manage.py runserver| Role | Permissions |
|---|---|
| Admin | Full control |
| Manager | Manage users + content |
| Editor | Manage posts only |
- REST API integration (Django REST Framework)
- Like/Share system
- Rich text editor (CKEditor)
- Email notifications
- Pagination optimization
Amal Aji
- GitHub: https://github.com/Cyber-Dome
- LinkedIn: https://linkedin.com/in/amal-aji-0a294932b
- Blog: https://www.domebytes.online
If you like this project, give it a β on GitHub!