Django,新用户注册时创建用户配置文件时出错

时间:2020-07-04 08:27:51

标签: python django

我正在按照下面提到的Github存储库来开发Django网站。

新用户注册后,它不会创建与之关联的配置文件,当我尝试访问该配置文件时,得到的响应为

RelatedObjectDoesNotExist at /accounts/profile/
User has no profile.

这里可能出了什么问题?

以下代码段来自我的Django项目的users应用。

apps.py

class UsersConfig(AppConfig):
    name = 'users'
    
    def ready(self):
        import users.signals

signals.py

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def save_profile(sender, instance, **kwargs):
    instance.profile.save()

models.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    address = models.CharField(max_length=500,null=True,blank=True)
    phone = models.PositiveIntegerField(null=True,blank=True)

forms.py



class UserRegisterForm(UserCreationForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']


class UserUpdateForm(forms.ModelForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ['username', 'email']


class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ['address','phone']

(以下教程的git hub回购:https://github.com/CoreyMSchafer/code_snippets/tree/master/Django_Blog/11-Pagination/django_project/users),

1 个答案:

答案 0 :(得分:1)

我在default_app_config = 'myapp.apps.MyappConfig模块中添加了以下代码__init__.py

相关问题