def cms_settings(request): # 1.默认User表里是没有avatar,所以用到了CMSUser表 # 2.CMSUser表和User表建立了一对一 # 3.我们先查找CMSUser里的用户id # 4.如果用户存在则存储avatar,否则新建该用户并储存 if request.method == 'GET': return render(request, 'cms_settings.html') else: form = SettingsForm(request.POST) if form.is_valid(): username = form.cleaned_data.get('username', None) avatar = form.cleaned_data.get('avatar', None) # 存储username # user = User.objects.all().first() user = request.user user.username = username user.save() # 存储avatar cms_user = CmsUserModel.objects.filter(user__pk=user.pk) if cms_user: cms_user.avatar = avatar else: CmsUserModel(user=user, avatar=avatar) cms_user.save() return myjson.json_result() else: return render(request, 'cms_settings.html', {'error': form.get_error()})
def front_settings(request): if request.method == 'GET': return render(request, 'front_settings.html') else: form = SettingsForm(request.POST) if form.is_valid(): username = form.cleaned_data.get('username', None) realname = form.cleaned_data.get('realname', None) qq = form.cleaned_data.get('qq', None) avatar = form.cleaned_data.get('avatar', None) signature = form.cleaned_data.get('signature', None) gender = form.cleaned_data.get('gender', None) # 用户登录之后只要获取当前用户的信息,然后就可以直接传入数据 user_model = request.user # 只有用户名是必填项,其他如果没有可以不填,所以需要判断,而性别是有默认选项 user_model.username = username user_model.gender = gender if realname: user_model.realname = realname if qq: user_model.qq = qq if avatar: user_model.avatar = avatar if signature: user_model.signature = signature user_model.save() return myjson.json_result() else: return render(request, 'cms_reset_email.html', {'error': form.get_error()})
def settings(): """ HR个人信息设置页面 :return: """ if request.method == 'GET': return render_template('settings.html') else: form = SettingsForm(request.form) if form.validate(): username = form.username.data email = form.email.data user = HrUser.query.get(g.user.id) user.username = username user.email = email db.session.commit() return restful.success() else: return restful.params_error(message=form.get_error())