我正在尝试创建表单,因此用户可以将头像上传到他的个人资料。 我有一个类,它看起来像这样:Django。访问其他用户字段
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile')
picture = models.FileField(upload_to='media/images', blank=True, null=True)
,现在我要访问我的看法领域picture
,这样我就可以把一些照片在里面。 我试图做到这一点,像这样:
if request.method == 'POST':
userForm = SignupForm(request.POST, instance=user)
profileForm = ProfileForm(request.POST, request.FILES)
if userForm.is_valid():
...
user.profile.picture = request.POST['picture']
...
profileForm.save()
return HttpResponseRedirect('/')
...
,然后把它传递给模板。 我在某处读到我可以通过模型中指定的related_name
来接受这样的领域,所以这就是我的尝试。 但是,当我试图把它上传说的图片:User has no profile.
我也读到get_profile()
功能很多,但我的理解它现在depricatred。
那么,请问,请问我该如何访问此字段?
可能是我做的一切都错了吗?如果是,那么做这种事情的正确方法是什么?
感谢您的答复! 我添加了这两种形式的验证。 您可以举一个例子来说明如何创建配置文件对象? 当你在谈论单独的个人资料图片时,你的意思是2个模型?我想我不需要它,但我不知道如何以其他方式扩展默认用户模型。 –