我正在按照下面提到的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),
答案 0 :(得分:1)
我在default_app_config = 'myapp.apps.MyappConfig
模块中添加了以下代码__init__.py