A full-featured Blog Website built using Django.
This project allows users to register, login, create posts, edit and delete their own posts, comment on posts, and like/unlike posts.
The project also includes an Admin Panel to manage users, posts, comments, and likes.
- User Registration (Full Name, Email, Password)
- Email-based Login
- Secure Logout
- Only authenticated users can create, edit, or delete posts
- Create new blog posts
- Edit own posts
- Delete own posts
- Each post includes:
- Title
- Content
- Author
- Created Date
- Optional Image
- Authenticated users can add comments
- Comments displayed under each post
- Comment author profile image shown
- Users can Like / Unlike posts
- Each post displays total number of likes
- User Profile with:
- Profile Image
- Full Name
- Bio
- Total Posts
- Edit Profile option
- Manage Users
- Manage Posts
- Manage Comments
- Manage Likes
- Admin and Superuser only visible in Admin user list
- Admin login redirected to
/admin
- Python
- Django
- HTML5
- CSS3
- SQLite
- Django Admin Panel
blog_project/ │ ├── blog/ │ ├── models.py │ ├── views.py │ ├── admin.py │ ├── urls.py │ ├── templates/ ├── static/ ├── media/ ├── manage.py └── requirements.txt
Follow these steps to run the project locally:
git clone https://github.com/utsho261/bloghub.gitcd bloghubpython -m venv venvActivate it: Windows:
venv\Scripts\activateMac/Linux:
source venv/bin/activatepip install django
pip install pillowpython manage.py migratepython manage.py createsuperuserpython manage.py runserverOpen your browser and go to:
http://127.0.0.1:8000/
🔐 Admin Access Admin panel:
http://127.0.0.1:8000/admin/
Only staff or superuser accounts can access admin panel.