Skip to content

Commit 70d1adc

Browse files
committed
adding simple jwt tokens
1 parent 0c52462 commit 70d1adc

File tree

11 files changed

+37
-20
lines changed

11 files changed

+37
-20
lines changed
1 Byte
Binary file not shown.
18 Bytes
Binary file not shown.

backend/api/admin.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
from django.contrib import admin
2-
from api.models import User, Profile
3-
# Register your models here.
2+
from .models import User, Profile # Adjusted import statement to relative import
43

54
class UserAdmin(admin.ModelAdmin):
65
list_display = ['username', 'email']
7-
6+
87
class ProfileAdmin(admin.ModelAdmin):
9-
list_editable=['verified']
10-
list_display=['user', 'full_name', 'verified']
11-
8+
list_display = ['user', 'full_name', 'verified'] # Fixed typo in list_display
9+
list_editable = ['verified'] # Moved list_editable to the correct place
10+
1211
admin.site.register(User, UserAdmin)
13-
admin.site.register(Profile, ProfileAdmin)
12+
admin.site.register(Profile, ProfileAdmin)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 5.0.4 on 2024-07-15 05:49
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('api', '0001_initial'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='profile',
15+
name='image',
16+
field=models.ImageField(default='default.jpg', upload_to='user_images'),
17+
),
18+
]
Binary file not shown.

backend/api/models.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
11
from django.db import models
22
from django.contrib.auth.models import AbstractUser
33
from django.db.models.signals import post_save
4+
from django.dispatch import receiver
45

56
class User(AbstractUser):
67
username = models.CharField(max_length=100)
78
email = models.EmailField(unique=True)
89

910
USERNAME_FIELD = 'email'
10-
REQUIRED_FIELDS = ['username'] # REQUIRED_FIELDS should be a list
11+
REQUIRED_FIELDS = ['username']
1112

1213
def __str__(self):
1314
return self.username
1415

15-
1616
class Profile(models.Model):
17-
user = models.OneToOneField(User, on_delete=models.CASCADE) # Fixed the assignment operator
18-
17+
user = models.OneToOneField(User, on_delete=models.CASCADE)
1918
full_name = models.CharField(max_length=300)
2019
bio = models.CharField(max_length=300)
21-
image = models.ImageField(default="default.jpg", upload_to="user_image")
20+
image = models.ImageField(default="default.jpg", upload_to="user_images")
2221
verified = models.BooleanField(default=False)
2322

2423
def __str__(self):
2524
return self.full_name
2625

26+
@receiver(post_save, sender=User)
2727
def create_user_profile(sender, instance, created, **kwargs):
2828
if created:
29-
Profile.object.create(user=instance)
30-
31-
def save_user_profule(sender, instance, **kwargs):
32-
instance.profile.save()
29+
Profile.objects.create(user=instance)
3330

34-
post_save.connect(create_user_profile, sender=User)
35-
post_save.connect(save_user_profule, sender=User)
31+
@receiver(post_save, sender=User)
32+
def save_user_profile(sender, instance, **kwargs):
33+
instance.profile.save()
Binary file not shown.
0 Bytes
Binary file not shown.

backend/backend/settings.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
# Application definition
3333

3434
INSTALLED_APPS = [
35+
'jazzmin',
36+
3537
'django.contrib.admin',
3638
'django.contrib.auth',
3739
'django.contrib.contenttypes',
@@ -61,8 +63,8 @@
6163
REST_FRAMEWORK = {
6264
# Use Django's standard `django.contrib.auth` permissions,
6365
# or allow read-only access for unauthenticated users.
64-
'DEFAULT_PERMISSION_CLASSES': [
65-
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
66+
'DEFAULT_AUTHENTICATION_CLASSES': [
67+
'rest_framework_simplejwt.authentication.JWTAuthetication',
6668
]
6769
}
6870

backend/db.sqlite3

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)