Я работаю над простым практическим проектом и использую сигналы для сохранения профиля, который является частью модели пользователя. Кажется, сигналы не получают. Хотя я не сталкивался с какими-либо ошибками, поэтому не смог отследить, в чем проблема или какие настройки мне не хватает. Я попытался использовать оператор print, и узнал, что сигналы даже не вызваны. Любой указатель, как я могу проверить, что вызывает проблему.
Пожалуйста, помогите ...
Ниже приведен код, который я использую.
#models.py
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User, on_delete = models.CASCADE)
image = models.ImageField(default = 'images/default.jpg', upload_to = 'images/profile_pic')
def __str__(self):
return f'{self.user.username} Profile'
#signals.py
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.dispatch import receiver
from .models import Profile
@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
print('inside signals')
if created:
print('inside signals ------------------------> create method is called')
Profile.objects.create(user = instance)
@receiver(post_save, sender=User)
def save_profile(sender, instance, **kwargs):
instance.profile.save()
# modified the app.py to include the method ready().
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'users'
def ready(self):
import users.signals