【发布时间】:2018-03-06 10:05:49
【问题描述】:
我已经阅读了一些帖子,但找不到我想要的内容。
我正在尝试弄清楚如何获取用户的 UserProfile。我在创建用户配置文件时创建了一对一的字段关系。我以为我可以按原样查询 UserProfile,但我无法让它工作。
def profile_edit(request):
user = UserProfile.objects.get(user=request.user)
return render(request, 'medium/profile_edit.html', {'user_profile_form': form,
'current_user': user})
有什么想法吗?这是我的 models.py 和视图
models.py
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,)
bio = models.TextField(blank=True)
avatar = models.ImageField(upload_to='avatars', blank=True)
views.py
def register_user(request):
registered = False
if request.method == 'POST':
user_form = UserForm(data=request.POST)
user_profile_form = UserProfileForm(data=request.POST)
if user_form.is_valid() and user_profile_form.is_valid():
new_user = user_form.save()
new_user.set_password(new_user.password)
new_user.save()
new_user_profile = user_profile_form.save(commit=False)
new_user_profile.user = new_user
if 'avatar' in request.FILES:
new_user_profile.avatar = request.FILES['avatar']
new_user_profile.save()
registered = True
else:
print(user_form.errors, user_profile_form.errors)
else:
user_form = UserForm()
user_profile_form = UserProfileForm()
return render(request, 'medium/registration.html', {
'user_form': user_form,
'user_profile_form': user_profile_form,
'registered': registered
})
【问题讨论】:
-
我不明白你的问题。这段代码到底在哪里遇到问题:什么不起作用,你得到什么错误?
标签: python django user-profile