This project can be viewed here
-
Blog website made using Django and deployed on PythonAnywhere. Uses sqlite3 as database
-
Profile images are compressed using Pillow before saving to db
-
Website is HTTPS secured
Users can:-
✅ Register new account, login to existing one
✅ Create, update, delete posts
✅ Request password reset email
✅ Change account username, email, password
✅ Choose a custom profile picture
✅ View posts by individual user
Always recommended to create a virtual environment
-
Create a virtual environment named myenv
python3 -m venv ./myenv
-
Activate it
source myenv/bin/activate
-
Enter the virtual environment and then
pip install -r requirements.txt
python manage.py runserver
python manage.py makemigrations
python manage.py sqlmigrate blog 0001
python manage.py shell
from django.contrib.auth.models import User
- To see all users
User.objects.all()
- To see first/last user
User.objects.first() or .last()
- To filter by username
User.objects.filter(username='testuser')
- for first result
User.objects.filter(username='testuser').first()
- To get info about a user
user = User.objects.filter(username='testuser').first()
-
to get user id
user.id
-
to get primary key for user(here same as id)
user.pk
- To get user using id
User.objects.get(id=1)
- To see all posts
Post.objects.all()
-
To create a new post
post_1=Post(title='Blog 1', content='First post!', author=user)
-
To save the post to our db
post_1.save()
-
Save it to a variable post
post = Post.objects.first()
-
Now to see it's content
post.content
-
To see date_posted
post.date_posted
-
To see post author
post.author
-
To see post author email
post.author.email
-
To see all posts by a user
user.post_set
user.post_set.all()
-
To create a new post for a user
user.post_set.create(title='Blog 3', content='Third Post')
python manage.py startapp users
Inspired by Corey M Schafer's Django Tutorial