我正在嘗試創建表單,因此用戶可以將頭像上傳到他的個人資料。 我有一個類,它看起來像這樣: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個模型?我想我不需要它,但我不知道如何以其他方式擴展默認用戶模型。 –