我正在通过遵循下面提到的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 中心存储库:https://github.com/CoreyMSchafer/code_snippets/tree/master/Django_Blog/11-Pagination/django_project/users(,
我在模块中添加了以下代码default_app_config = 'myapp.apps.MyappConfig
__init__.py