def editprofile(request): if request.method == "POST": profile_form = ProfileForm(request.POST, instance=request.user.profile) user_get_ms_info = User.objects.get(username=request.user.username) user_merchant_only_form = UserMerchantOnlyForm(request.POST, instance=request.user, ms_kw=user_get_ms_info) if profile_form.is_valid() and user_merchant_only_form.is_valid(): user_merchant_only_form.save() profile_form.save() return redirect('user:browseownprofile') else: context = { 'form': profile_form, 'userform': user_merchant_only_form, 'user': request.user } return render(request, 'user/editprofile.html', context) else: profile_form = ProfileForm(instance=request.user.profile) user_merchant_only_form = UserMerchantOnlyForm(instance=request.user) context = { 'form': profile_form, 'userform': user_merchant_only_form, 'user': request.user } return render(request, 'user/editprofile.html', context)
def edit_profile(request): #Processes 2 forms.. 1 Auth user and 1 custom model (profile) profile = Profile.objects.get(id=request.user.id) if request.method == 'POST': profile_form = ProfileForm(request.POST, request.FILES, instance=request.user.profile) user_form = EditProfileForm(request.POST, instance=request.user) #return render_to_response('profile/debug.html', {'profile_form': profile_form}) if profile_form.is_valid() and user_form.is_valid(): profile_form.save() user_form.save() return redirect('/') else: return render(request, 'profile/edit_profile.html', { 'user_form':user_form, 'profile_form':profile_form, 'profile':profile } ) else: profile_form = ProfileForm(instance = request.user.profile) user_form = EditProfileForm(instance = request.user) return render(request, 'profile/edit_profile.html', { 'user_form':user_form, 'profile_form':profile_form, 'profile':profile } )
def edit_user_info(request): msg = None msg_type = None user = request.user if request.method == 'POST': user_form = UpdateUserForm(request.POST, instance=user) profile_form = ProfileForm(request.POST, instance=user.profile) if user_form.is_valid() and profile_form.is_valid(): password_match = check_password(request.POST['password'], user.password) if password_match: user = user_form.save() profile_form.save(user) msg = 'Changes successfully saved' msg_type = 'SUCCESS' else: msg = 'Password is incorrect' msg_type = 'ERROR' else: user_form = UpdateUserForm(instance=user) profile_form = ProfileForm(instance=user.profile) context = { 'user_form': user_form, 'profile_form': profile_form, 'password_form': PasswordForm(), 'msg': msg, 'msg_type': msg_type, } return render(request, 'user/edit_user.html', context=context)
def post(self, request): user = User.objects.get(id=request.user.id) data = request.POST.copy() # ensures that the email field is not updated data["email"] = user.email profile_form = ProfileForm(data, files=request.FILES, instance=user) if profile_form.is_valid(): profile_form.save() messages.success( request, SUCCESS_MESSAGES["operation_successful"].format("save")) return redirect("profile_url") # this ensures that whenever error(s) are displayed in the template # the bank form still retains its form displayed # else the form shows none because it can access a bank form from the context # this issue occurs because we a rerendering the page, # if we redirect to the page, then we don't need to bother about this issue, # but then again, we would loose the form errors # perhaps we can make use of messages, ie putting the errors in messages will # help us avoid this # but we currently want to show the errors withing the template input itself context = self._set_profile_context(profile_form, request, user) return render(request, template_name="dashboard/profile/profile.html", context=context)
def update_profile(request): '''修改用户配置''' profile = request.user.profile form = ProfileForm(request.POST, instance=profile) if form.is_valid(): form.save() else: raise errors.ParamsError
def set_profile(request): user = request.user form = ProfileForm(data=request.POST, instance=user.profile) if form.is_valid(): form.save() return render_json() else: return render_json(data=form.errors)
def post(self, request): # instance参数表示用model实例来初始化表单,这样就可以达到通过表单来更新数据 form = ProfileForm(request.POST, instance=request.user) if form.is_valid(): form.save() # 添加一条信息,表单验证成功就重定向到个人信息页面 messages.add_message(request, messages.SUCCESS, '个人信息更新成功!') return redirect('user:profile') else: return render(request, 'user/change_profile.html', context={'form': form})
def registrationFormExtended(request): if request.method == 'POST': user_form = UserCreationFormCustom(request.POST) profile_form = ProfileForm(request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() profile_form.save(user) return redirect(to=settings.LOGIN_URL) else: user_form = UserCreationFormCustom() profile_form = ProfileForm() context = {'user_form': user_form, 'profile_form': profile_form} return render(request, 'user/register.html', context=context)
def register(request): user_form = UserForm(request.POST or None) profile_form = ProfileForm(request.POST or None, request.FILES or None) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save(commit=False) try: validate_password(user_form.cleaned_data.get('password'), user) except ValidationError as e: user_form.add_error('password', e) return render(request, 'user/registration.html', context={ 'user_form': user_form, 'profile_form': profile_form, }) user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user profile.save() return render(request, 'user/registration.html', context={ 'user_form': user_form, 'profile_form': profile_form })
def CreateProfile(request): if request.method == 'POST': user_form = UserForm(request.POST) profile_form = ProfileForm(request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user profile.save() messages.add_message(request, messages.INFO, "Vous êtes désormais inscrit.") return redirect('/') else: user_form = UserForm() profile_form = ProfileForm() return render(request, 'registration/create.html', { 'user_form': user_form, 'profile_form': profile_form })
def set_profile(request): # 将提交的数据放进表单,并初始化 user_form = UserForm(request.POST) user = request.user # 判断表单是否有效 if user_form.is_valid(): # __dict__ 用来修改类对象的属性值 user.__dict__.update(user_form.cleaned_data) user.save() else: # 直接抛出实例,手动添加data raise status.UserDataErr(user_form.errors) # return render_json(data=user_form.errors, code=status.UserDataErr) profile_form = ProfileForm(request.POST) # profile = user.profile if profile_form.is_valid(): # 当你通过表单获取你的模型数据,但是需要给模型里null=False字段添加一些非表单的数据,该方法会非常有用。如果你指定commit=False, # 那么save方法不会理解将表单数据存储到数据库,而是给你返回一个当前对象。这时你可以添加表单以外的额外数据,再一起存储。 # 生成一个空对象,减少跟数据库通信的次数 profile = profile_form.save(commit=False) profile.id = user.id profile.save() # 缓存更新 key = keys.PROFILE_KEY % request.user.id # 通过删除缓存达到更新目的,还有就是被动的过期 # cache.delete(key) cache.set(key, profile.to_dict()) else: raise status.ProfileDataErr(profile_form.errors) # return render_json(data=profile_form.errors, code=status.ProfileDataErr) return render_json()
def manageuser(request, username): user = get_object_or_404(User, username = username) user2 = Profile.objects.get(user = user.pk) profileform = ProfileForm(instance = user2) userform = UserEditForm(instance = user) args = {'profileform' : profileform, 'userform' : userform, 'user' : user2, 'data' : user} if request.method == 'POST': profileform = ProfileForm(request.POST, request.FILES, instance = user2) userform = UserEditForm(request.POST, instance = user) if profileform.is_valid() and userform.is_valid(): profileform.save() userform.save() args = {'profileform' : profileform, 'userform' : userform, 'user' : user2, } return redirect('/webmaster/user/'+user.username) else: print("errors : {}".format(profileform.errors.as_data())) print("errors : {}".format(userform.errors.as_data())) return render(request, 'webadmin/pages/manage/user/index.html',args)
def update_profile(request): if request.method == 'POST': user_form = UserForm(request.POST, instance=request.user) profile_form = ProfileForm(request.POST, instance=request.user.profile) if user_form.is_valid() and profile_form.is_valid(): profile_form.save() messages.success(request, ('Your profile was successfully updated!')) return HttpResponseRedirect('/') else: messages.error(request, ('Please correct the error below.')) else: user_form = UserForm(instance=request.user) profile_form = ProfileForm(instance=request.user.profile) return render(request, 'user/profile_update.html', { 'user_form': user_form, 'profile_form': profile_form })
def modify_profile(request): '''修改个人资料''' form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.id = request.user.id profile.save() return render_json(profile.to_dict()) else: return render_json(form.errors, errors.ProfileError.code)
def set_profile(request): '''''' form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.id = request.session['uid'] profile.save() return render_json() else: return render_json(form.errors, errors.PROFILE_ERR)
def edit_profile(request): uid = request.session.get('uid') profileform = ProfileForm(request.POST) if profileform.is_valid(): profile = profileform.save(commit=False) profile.id = uid profile.save() return render_json(profile.to_dict()) else: return render_json(profileform.errors, PROFILE_ERROR)
def set_profile(request): '''修改个人配置''' form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.id = request.session['uid'] profile.save() return render_json(None) else: raise errors.ProfileErr(form.errors)
def profile(request): if request.method == 'POST': pform = ProfileForm(request.POST, request.FILES, instance=request.user.profile) uform = UserUpdateForm(request.POST, instance=request.user) if pform.is_valid() and uform.is_valid(): pform.save() uform.save() return HttpResponseRedirect(reverse('profile')) # return HttpResponse(request.FILES) else: pform = ProfileForm(instance=request.user.profile) uform = UserUpdateForm(instance=request.user) return render(request, 'user/profile.html', { 'pform': pform, 'uform': uform })
def set_profile(request): '''修改个人资料''' form = ProfileForm(request.POST) # 数据检查 if form.is_valid(): profile = form.save(commit=False) # 通过Form表单创建出model对象,但并不在数据库中创建 profile.id = request.user.id # 给profile设置id profile.save() # 保存 info_log.debug('更新缓存') return render_json(profile.to_dict()) else: raise errors.ProfileErr(form.errors)
def UpdateProfile(request): user_instance = request.user profile_instance = user_instance.profile if request.method == "POST": profile_form = ProfileForm(request.POST, instance=profile_instance) user_form = UserUpdateForm(request.POST, instance=user_instance) if profile_form.is_valid() and user_form.is_valid(): profile_form.save() # user = user_form.save(commit=False) user_form.save() else: profile_form = ProfileForm(instance=profile_instance) user_form = UserUpdateForm(instance=user_instance) return render(request, "account/profile.html", { 'user_form': user_form, 'profile_form': profile_form })
def set_profile(request): '''修改个人配置''' form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.id = request.session['uid'] profile.save() # 更新缓存 key = 'ProfileDict-%s' % profile.id cache.set(key, profile.to_dict(), 86400 * 7) return render_json(None) else: raise errors.ProfileErr(form.errors)
def profile_editor(request): context = dict() context['user'] = request.user context['edit_form'] = ProfileForm context.update(csrf(request)) if request.POST: form = ProfileForm(request.POST) context['edit_form'] = form if form.is_valid(): form.save(commit=False) user_id = request.user.id user_profile = UserProfile.objects.get(user_id=user_id) user_profile.first_name = request.POST['first_name'] user_profile.last_name = request.POST['last_name'] user_profile.birthday = request.POST['birthday'] user_profile.about_user = request.POST['about_user'] user_profile.save() return redirect('user.views.profile', user_id=user_id) else: context['form'] = form return render(request, "profile_editor.html", context)
def post(self, request): pf = get_object_or_404(UserProfile, owner=self.request.user) form1 = ProfileForm(request.POST, instance=pf, prefix='profile') uf = get_object_or_404(User, username=self.request.user) form2 = UserForm(request.POST, instance=uf, prefix='user') if form1.is_valid() and form2.is_valid(): profile = form1.save(commit=False) # profile.owner=self.request.user profile.save() form2.save() return redirect('home:all') else: ctx = {'form1': form1, 'form2': form2} return render(request, 'user/user_profile.html', ctx)
def modify_profile(request): '''修改个人资料''' form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.id = request.user.id profile.save() result = profile.to_dict() # 添加缓存 cache.set(f'Profile-{profile.id}', result) return render_json(result) else: raise errors.ProfileError
def set_profile(request): form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) # 未添加到数据库 但得到profile模型对象 profile.id = request.user.id profile.save() #数据发生变化后需要更新缓存 key = keys.PROFILE % request.user.id profile_data = profile.to_dict('vibration', 'only_matche', 'auto_play') cache.set(key, profile_data) return render_json() else: return render_json(form.errors, code=errors.ProfileErr.code)
def set_profile(request): '''设置用户的个人资料''' form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.id = request.session['uid'] profile.save() # 修改缓存 key = keys.PROFILE_KEY % request.user.id cache.set(key, profile.to_dict(), 3600) print('修改缓存') return render_json() else: raise errors.ProfileErr(form.errors)
def edit_profile(request): """修改个人资料""" form = ProfileForm(request.POST) # user = User.get(id=request.session['uid']) if form.is_valid(): profile = form.save(commit=False) profile.id = request.session['uid'] profile.save() # 更新缓存 cache.set(keys.PROFILE_DICT % profile.id, profile.to_dict(), 86400 * 7) # 记录日志 logger.info(f'User {profile.id} has changed profile') return render_json(profile.to_dict()) else: raise errors.ProfileErr(data=form.errors)
def set_profile(request): '''修改个人资料''' if not request.method == 'POST': return render_json('request method error', error.REQUEST_ERROR) uid = request.session.get('uid') profile_form = ProfileForm(request.POST) if profile_form.is_valid(): profile = profile_form.save(commit=False) profile.id = uid profile.save() return render_json('modify success') else: return render_json(profile_form.errors, error.FORM_ERROR)
def edit_profile(request): """修改个人资料""" user = request.user form = ProfileForm(request.POST) if form.is_valid(): profile = form.save( commit=False ) # 继承了ModelForm, form相当于Model对象, commit=False 先不提交, 返回一个profile对象 profile.id = user.id profile.save() # 这里save()相当于更新该id对应数据 # 更新到缓存 key = keys.PROFILE_KEY % user.id cache.set(key, profile.to_dict(), 86400 * 14) return render_json(data=profile.to_dict()) return render_json(code=errors.PROFILE_ERR, data=form.errors)
def set_profile(request): """修改个人资料""" if not request.method == "POST": return HttpResponse('request method error') uid = request.session.get('uid') profile_form = ProfileForm(request.POST) if profile_form.is_valid(): profile = profile_form.save(commit=False) profile.id = uid profile.save() return render_json('modify profile success') else: raise render_json(profile_form.errors, errors.FROM_VALUE_ERROR)
def set_profile(request): user = request.user form = ProfileForm(data=request.POST, instance=user.profile) if form.is_valid(): profile = form.save() profile_data = profile.to_dict(exclude=['auto_play']) # 更新成功后,将新数据设置到缓存中 key = cache_keys.PROFILE_DATA_PREFIX.format(profile.id) cache.set(key, profile_data) return render_json() else: return render_json(data=form.errors)