def edit_avatar():
username = loggedIn(session, LoggedIn)
if username == False:
form = LoginForm()
return render_template('login.html', form=form)
form = EditProfileForm()
a_skills = AddSkillsForm()
e_skills = EditSkillsForm()
e_flname = EditFullNameForm()
e_descr = EditDescription()
a_descr = AddDescription()
e_avatar = EditAvatarForm()
if e_avatar.validate_on_submit():
user = User.query.filter_by(username=username).first()
user_profile = Profile.query.filter_by(user_id=user.id).first()
# update avatar
new_avatar = e_avatar.new_avatar.data
filename = secure_filename(new_avatar.filename)
rand_ID = str(randId())
while True:
result = Profile.query.filter_by(avatar=rand_ID).first()
if result:
rand_ID = str(randId())
else:
break
filename = ''+rand_ID+'.jpg' # ex: filename = ekjenrfueorf.jpg
target = path.join(APP_ROOT, 'static/avatars/')
if not path.isdir(target):
mkdir(target)
old_path = path.join(target, user_profile.avatar)
new_path = path.join(target, filename)
if user_profile.avatar != "saitama-batman.jpg":
remove(old_path)
new_avatar.save(new_path)
user_profile.avatar = filename
db.session.commit()
# render profile page
user_skills = user_profile.skills.split(',')
return render_template('profile.html', username=username, user_profile=user_profile, user_skills=user_skills)
# render edit profile pages
return render_template('edit_profile.html', form=form, a_skills=a_skills, e_skills=e_skills, e_avatar=e_avatar, e_flname=e_flname, e_descr=e_descr, a_descr=a_descr)
评论列表
文章目录