Python 3.x relatedObjectsDoe位于/profile/User的文本列表没有配置文件
我想为每个用户创建一个配置文件,但我在以下位置收到此错误消息和此my函数: views.py:Python 3.x relatedObjectsDoe位于/profile/User的文本列表没有配置文件,python-3.x,django,django-forms,Python 3.x,Django,Django Forms,我想为每个用户创建一个配置文件,但我在以下位置收到此错误消息和此my函数: views.py: @login_required def profile(request): if request.method == 'POST': u_form = UserUpdateForm(request.POST, instance=request.user) p_form = ProfileUpdateForm(request.POST,
@login_required
def profile(request):
if request.method == 'POST':
u_form = UserUpdateForm(request.POST, instance=request.user)
p_form = ProfileUpdateForm(request.POST,
request.FILES ,instance=request.user.profile)
if u_form.is_valid() and p_form.is_valid():
user_from =u_form.save()
profile_form= p_form.save(False)
user_from=profile_form
profile_form.save()
messages.success(request, f'Your account has been created! You are now able to log in')
return redirect('list')
else:
u_form = UserUpdateForm(instance=request.user)
p_form = ProfileUpdateForm(instance=request.user.profile) #instance=request.user.profile)
args = {}
args['u_form'] = u_form
args['p_form'] = p_form
return render(request, 'users/profile.html',args)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,unique=True, primary_key=True, default=None)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
def __str__(self):
return f'{self.user.username} Profile'
def save(self):
super().save()
注册用户:
为什么这个代码不起作用?我正在尝试为用户创建一个注册表。
models.py:
@login_required
def profile(request):
if request.method == 'POST':
u_form = UserUpdateForm(request.POST, instance=request.user)
p_form = ProfileUpdateForm(request.POST,
request.FILES ,instance=request.user.profile)
if u_form.is_valid() and p_form.is_valid():
user_from =u_form.save()
profile_form= p_form.save(False)
user_from=profile_form
profile_form.save()
messages.success(request, f'Your account has been created! You are now able to log in')
return redirect('list')
else:
u_form = UserUpdateForm(instance=request.user)
p_form = ProfileUpdateForm(instance=request.user.profile) #instance=request.user.profile)
args = {}
args['u_form'] = u_form
args['p_form'] = p_form
return render(request, 'users/profile.html',args)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,unique=True, primary_key=True, default=None)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
def __str__(self):
return f'{self.user.username} Profile'
def save(self):
super().save()
您得到的错误是什么?此用户没有配置文件。请共享您的模式。完成了,完成了modified@bdemirka所以你可以帮我!