views.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:Pycourses 作者: billz96 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号