我基本上想要完成的是,当用户编辑他的个人资料时,空白字段会导致所有内容都被覆盖。
例如:
如果添加了名字并且用户想要更改它,他将不必重新填写整个表单,他必须更改的唯一字段是名字字段。当表单被提交时,其他空白字段会导致他们的模型字段为空。
这是我尝试过的:
def editUserprofile(request):
rc = context_instance=RequestContext(request)
u = request.user
if request.method=='POST':
form = UserProfileEdit(request.POST, request.FILES)
if form.is_valid():
u = UserProfile.objects.get(user=u)
if 'avatar' in request.FILES :
u.avatar = request.FILES['avatar']
if 'first_name' in request.POST:
u.first_name = form.cleaned_data['first_name']
if 'last_name' in request.POST:
u.last_name = form.cleaned_data['last_name']
if 'email' in request.POST:
u.email = form.cleaned_data['email']
if 'country' in request.POST:
u.country = form.cleaned_data['country']
if 'date_of_birth' in request.POST:
u.date_of_birth = form.cleaned_data['date_of_birth']
u.save()
return HttpResponseRedirect(reverse('photocomp.apps.users.views.editUserprofile'))
else:
u = UserProfile.objects.get(user=u)
form = UserProfileEdit()
return render_to_response('users/editprofile.html',
{'form':form, 'u':u},
rc)
我可以在不编辑模型内容的情况下让空字段通过吗?
希望它不会让你感到困惑!
如果您想了解更多详细信息,请告诉我:) 提前谢谢!