Python forms 模块,LoginForm() 实例源码

我们从Python开源项目中,提取了以下33个代码示例,用于说明如何使用forms.LoginForm()

项目:Content-Based-News-Recommendation-System-in-Spark    作者:Labyrinth108    | 项目源码 | 文件源码
def login(request):
    if request.method == 'POST':
        uf = LoginForm(request.POST)
        if uf.is_valid():
            # ????????
            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            # ???????????????
            try:
                user = Users.objects.get(user_id__exact=username, passwd__exact=password)
            except Users.DoesNotExist:
                return HttpResponseRedirect('/login/', {'error', True})
            request.session['name'] = username
            return HttpResponseRedirect('/user/')
    else:
        uf = LoginForm()
    return render_to_response('login.html', {'uf': uf, 'error': False, 'username':""})
项目:chat_api    作者:hriks    | 项目源码 | 文件源码
def login():
    form = LoginForm()
    # Shows login form

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user:
            if user.confirmed_email:
                if check_password_hash(user.password, form.password.data):
                    login_user(
                        user,
                        remember=form.remember.data
                    )
                    admin = User.query.filter_by(
                        username=str(user.username)
                    ).first()
                    admin.is_active = True
                    db.session.commit()
                    session['logged'] = 'YES'
                    if current_user:
                        hriks(
                            'SUCCESS! Welcome, you are logged in %s' % (
                                user.username
                            )
                        )
                        return redirect(url_for('index'))
                    return redirect(url_for('login'))
        hriks(
            'WARNING! Invalid Combination,\
            Please check username and password'
        )
        return render_template('login.html', form=form)

    return render_template('login.html', form=form)


# This is Signup form route, it accepts both GET and POST
# request. It renders signup form page using GET and submit
# form using POST request.
# This method also send confirm mail to user
# clicking on which user needs to verify his identity
项目:tellMeYourStory    作者:mouseProgrammouse    | 项目源码 | 文件源码
def login():
    """ If the user is already logged in """
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('index'))
    form = LoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        """ Try to find user in DB """
        user = User.query.filter_by(login=form.login.data).first()
        if user:
            if bcrypt.check_password_hash(user.password, form.password.data):
                """ Correct user's data """
                login_user(user, remember=form.remember_me.data)
                return redirect(url_for("index"))
            else:
                flash('Username or Password is invalid','error')
                return redirect(url_for('login'))
        else:
            """ Create error message"""
            flash('Username is invalid','error')
            return redirect(url_for('login'))
    return render_template('login.html',
        title='sign in',
        form=form)
项目:flask-gae-ndb-starter    作者:jideobs    | 项目源码 | 文件源码
def login():
    if current_user.is_authenticated:
        return redirect('dashboard')

    form = LoginForm(csrf_enabled=False)
    if request.method == 'POST' and form.validate_on_submit():
        form.user.is_authenticated = True
        form.user.put()
        login_user(form.user, remember=form.remember_me.data)
        sleep(1)
        return redirect(url_for('dashboard'))
    else:
        return render_template('login.html', form=form)
项目:Flask-Social-Networking    作者:sinscary    | 项目源码 | 文件源码
def login():
    form = forms.LoginForm()
    if form.validate_on_submit():
        try:
            user = models.User.get(models.User.email == form.email.data)
        except models.DoesNotExist:
            flash("Your email or password does not match", "error")
        else:
            if check_password_hash(user.password, form.password.data):
                login_user(user) 
                """Creating a session on user's browser"""
                flash("You have been logged in", "success")
                return redirect(url_for('index'))
            else:
                flash("Your email or password does not match", "error")
    return render_template('login.html', form = form)
项目:todolist    作者:lalor    | 项目源码 | 文件源码
def login():
    if request.method == 'POST':
        user = User.query.filter_by(username=request.form['username'], password=request.form['password']).first()
        if user:
            login_user(user)
            flash('you have logged in!')
            return redirect(url_for('show_todo_list'))
        else:
            flash('Invalid username or password')
    form = LoginForm()
    return render_template('login.html', form=form)
项目:TodoListMaker    作者:prakharchoudhary    | 项目源码 | 文件源码
def login():
    form = forms.LoginForm()
    if form.validate_on_submit():
        try:
            user = models.User.get(models.User.email == form.email.data)
        except models.DoesNotExist:
            flash("Your email or password doesn't match!", "error")
        else:
            if check_password_hash(user.password, form.password.data):
                login_user(user)
                flash("You've been logged in!", "success")
                return redirect(url_for('index'))
            else:
                flash("Your email or password doesn't match!", "error")
    return render_template('login.html', form=form)
项目:gardenbot    作者:GoestaO    | 项目源码 | 文件源码
def login():
    if request.method == "POST":
        form = LoginForm(request.form)
        if form.validate():
            login_user(form.user, remember=form.remember_me.data)
            flash("Successfully logged in as {}".format(form.user.email), "success")
            return redirect(request.args.get("next") or url_for("homepage"))
    else:
        form = LoginForm()
    return render_template("login.html", form=form)
项目:gardenbot    作者:GoestaO    | 项目源码 | 文件源码
def test_loginForm_validation(self):
        self.assertTrue(self.loginForm.validate(), "Error in validation of LoginForm")
项目:flask-social    作者:sethbergman    | 项目源码 | 文件源码
def login():
    form = forms.LoginForm()
    if form.validate_on_submit():
        try:
            user = models.User.get(models.User.email == form.email.data)
        except models.DoesNotExist:
            flash("Your email or password doesn't match!", "error")
        else:
            if check_password_hash(user.password, form.password.data):
                login_user(user)
                flash("You've been logged in!", "success")
                return redirect(url_for('index'))
            else:
                flash("Your email or password doesn't match!", "error")
    return render_template('login.html', form=form)
项目:DropMuse    作者:DropMuse    | 项目源码 | 文件源码
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # Validate user login
        user = db_utils.user_login(engine,
                                   form.username.data,
                                   form.password.data)
        if user:
            # Login user with Flask-Login
            login_user(user)
            flash('You have been logged in.', 'success')
            return redirect(url_for('profile', username=form.username.data))
        else:
            flash('Invalid password', 'warning')
            return redirect(url_for('login'))
    return render_template('login.html', form=form)
项目:project-dream-team-one    作者:mbithenzomo    | 项目源码 | 文件源码
def login():
    """
    Handle requests to the /login route
    Log an employee in through the login form
    """
    form = LoginForm()
    if form.validate_on_submit():

        # check whether employee exists in the database and whether
        # the password entered matches the password in the database
        employee = Employee.query.filter_by(email=form.email.data).first()
        if employee is not None and employee.verify_password(
                form.password.data):
            # log employee in
            login_user(employee)

            # redirect to the dashboard page after login
            return redirect(url_for('home.dashboard'))

        # when login details are incorrect
        else:
            flash('Invalid email or password.')

    # load login template
    return render_template('auth/login.html', form=form, title='Login')
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def home():
   username = loggedIn(session, LoggedIn)
   if username == False:
       form = LoginForm()
       return render_template('login.html', form=form)
   else:
       return render_template('index.html', username=username)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def del_course(id):
    username = loggedIn(session, LoggedIn)
    if username == False:
        form = LoginForm()
        return render_template('login.html', form=form)


    # delete thumbnail
    course = Course.query.filter_by(id=id).first()
    target = path.join(APP_ROOT, 'static/courses/')
    file_path = path.join(target, course.thumbnail)
    remove(file_path)

    # delete course
    db.session.delete(course)
    db.session.commit()

    # render my courses page
    user = User.query.filter_by(username=username).first()
    courses = Course.query.filter_by(user_id=user.id).all()
    return render_template('my_courses.html', username=username, courses=courses)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def add_descr():
    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_avatar = EditAvatarForm()
    e_descr = EditDescription()
    e_flname = EditFullNameForm()

    a_descr = AddDescription()
    if a_descr.validate_on_submit():
        user = User.query.filter_by(username=username).first()
        user_profile = Profile.query.filter_by(user_id=user.id).first()

        # add and save description
        if user_profile.description == 'no-description':
            user_profile.description = request.form['extra_descr']
        else:
            user_profile.description += request.form['extra_descr']
        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)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def edit_descr():
    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_avatar = EditAvatarForm()
    a_descr = AddDescription()
    e_flname = EditFullNameForm()

    e_descr = EditDescription()
    if e_descr.validate_on_submit():
        user = User.query.filter_by(username=username).first()
        user_profile = Profile.query.filter_by(user_id=user.id).first()

        # edit and save description
        user_profile.description = request.form['new_descr']
        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)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def edit_flname():
    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_avatar = EditAvatarForm()
    e_descr = EditDescription()
    a_descr = AddDescription()

    e_flname = EditFullNameForm()
    if e_flname.validate_on_submit():
        user = User.query.filter_by(username=username).first()
        user_profile = Profile.query.filter_by(user_id=user.id).first()

        # change skills
        user_profile.name = request.form['new_name']
        user_profile.surname = request.form['new_surname']
        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)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def edit_skills():
    username = loggedIn(session, LoggedIn)
    if username == False:
        form = LoginForm()
        return render_template('login.html', form=form)

    form = EditProfileForm()
    a_skills = AddSkillsForm()
    e_avatar = EditAvatarForm()
    e_flname = EditFullNameForm()
    e_descr = EditDescription()
    a_descr = AddDescription()

    e_skills = EditSkillsForm()
    if e_skills.validate_on_submit():
        user = User.query.filter_by(username=username).first()
        user_profile = Profile.query.filter_by(user_id=user.id).first()

        # change skills
        user_profile.skills = request.form['updated_skills']
        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)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def add_skills():
    username = loggedIn(session, LoggedIn)
    if username == False:
        form = LoginForm()
        return render_template('login.html', form=form)

    form = EditProfileForm()
    e_skills = EditSkillsForm()
    e_avatar = EditAvatarForm()
    e_flname = EditFullNameForm()
    e_descr = EditDescription()
    a_descr = AddDescription()

    a_skills = AddSkillsForm()
    if a_skills.validate_on_submit():
        user = User.query.filter_by(username=username).first()
        user_profile = Profile.query.filter_by(user_id=user.id).first()

        # change profile and save
        if user_profile.skills == 'no-skills':
            user_profile.skills = request.form['new_skills']
        else:
            user_profile.skills += request.form['new_skills']
        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 page
    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)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def my_courses():
    username = loggedIn(session, LoggedIn)
    if username == False:
        form = LoginForm()
        return render_template('login.html', form=form)

    user = User.query.filter_by(username=username).first()
    courses = Course.query.filter_by(user_id=user.id).all()
    return render_template('my_courses.html', username=username, courses=courses)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def course():
    username = loggedIn(session, LoggedIn)
    if username == False:
        form = LoginForm()
        return render_template('login.html', form=form)

    form = CourseForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=username).first()

        # save thumbnail
        thumbnail = form.thumbnail.data
        filename = secure_filename(thumbnail.filename)

        rand_ID = str(randId())
        while True:
            result = Course.query.filter_by(thumbnail=rand_ID).first()
            if result:
                rand_ID = str(randId())
            else:
                break

        filename = ''+rand_ID+'.jpg'
        target = path.join(APP_ROOT, 'static/courses/')
        if not path.isdir(target):
            mkdir(target)

        thumbnail.save(path.join(target, filename))

        # save course
        title = request.form['title']
        description = request.form['description']
        required_skills = request.form['required_skills']
        course = Course(user_id=user.id, title=title, description=description, thumbnail=filename, required_skills=required_skills)
        db.session.add(course)
        db.session.commit()

        return render_template('index.html', username=username)

    return render_template('new_course.html', form=form)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def login():
    username = loggedIn(session, LoggedIn)
    if username != False:
        return render_template('index.html', username=username)

    form = LoginForm()
    if form.validate_on_submit():
        pwd = request.form['password']
        existing_user = User.query.filter_by(username=request.form['username']).first()
        if not existing_user:
            error = 'Username or password are incorrect.'
            return render_template('login.html', form=form, loggedInError=error)

        hash1 = hashpw(str(pwd).encode('utf-8'), str(existing_user.password).encode('utf-8'))
        hash2 = existing_user.password
        if hash1 != hash2:
            error = 'Username or password are incorrect.'
            return render_template('login.html', form=form, loggedInError=error)

        rand_ID = str(randId())
        while True:
            user = LoggedIn.query.filter_by(rand_id=rand_ID).first()
            if user:
                rand_ID = str(randId())
            else:
                break

        userLoggedIn = LoggedIn(username=request.form['username'], rand_id=rand_ID)
        db.session.add(userLoggedIn)
        db.session.commit()
        session['user'] = rand_ID
        return render_template('index.html', username=userLoggedIn.username)
    return render_template('login.html', form=form)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def logout():
    if not 'user' in session:
        form = LoginForm()
        return render_template('login.html', form=form)

    logoutUser(session=session, LoggedIn=LoggedIn, db=db)
    form = LoginForm()
    return render_template('login.html', form=form)
项目:MoocOnline    作者:My-captain    | 项目源码 | 文件源码
def post(self, request):
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user_name = request.POST.get("username", "")
            pass_word = request.POST.get("password", "")
            user = authenticate(username=user_name, password=pass_word)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return render(request, "index.html", {"name": user.nick_name})
                else:
                    return render(request, "login.html", {"message": "?????,???????????"})
            else:
                return render(request, "login.html", {"message": "????????!"})
        else:
            return render(request, "login.html", {"login_form": login_form})
项目:followme    作者:wzqnls    | 项目源码 | 文件源码
def post(self, request):
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user_name = request.POST.get('username', '')
            pass_word = request.POST.get('password', '')
            user = authenticate(username=user_name, password=pass_word)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return render(request, "index.html")
                else:
                    return render(request, "login.html", {"msg": u"?????"})
            else:
                return render(request, "login.html", {"msg": u"????????"})
        else:
            return render(request, "login.html", {"login_form": login_form})
项目:dream-team    作者:cpmarx    | 项目源码 | 文件源码
def login():
    """
    Handle requests to the /login route
    Log an employee in through the login form
    :return: redirect to home.dashboard if all's ok
    """
    form = LoginForm()

    # if not is a post, render the login template
    if form.validate_on_submit():
        # check whether employee exists in the database and
        # whether the password entered matches the password in the db
        employee = Employee.query.filter_by(email=form.email.data).first()
        if employee is not None and employee.verify_password(form.password.data):
            # log employee in
            login_user(employee)

            # redirect to the appropriate dashboard page
            if employee.is_admin:
                return redirect(url_for('home.admin_dashboard'))
            else:
                return redirect(url_for('home.dashboard'))
        else:  # stay in the page and warning the user
            flash('Invalid email or password.')

    return render_template('auth/login.html', form=form, title='Login')
项目:project_dream_team    作者:molo76    | 项目源码 | 文件源码
def login():
    """
    Handle requests to the /login route
    Log an employee in through the login form
    """
    form = LoginForm()
    if form.validate_on_submit():

        # check whether employee exists in the database and whether
        # the password entered matches the password in the database
        employee = Employee.query.filter_by(email=form.email.data).first()
        if employee is not None and employee.verify_password(
                form.password.data):
            # log employee in
            login_user(employee)

            # redirect to the dashboard page after login_user
            if employee.is_admin:
                return redirect(url_for('home.admin_dashboard'))
            else:
                return redirect(url_for('home.dashboard'))

        # when login details are incorrect
        else:
            flash('Invalid email or password.')

    # load login template
    return render_template('auth/login.html', form=form, title='Login')
项目:flask_cf    作者:codigofacilito    | 项目源码 | 文件源码
def login():
    login_form = forms.LoginForm(request.form)
    if request.method == 'POST' and login_form.validate():
        username = login_form.username.data
        password = login_form.password.data

        user = User.query.filter_by(username = username).first()
        if user is not None and user.verify_password(password):
            success_message = 'Bienvenido {}'.format(username)
            flash(success_message)

            session['username'] = username
            session['user_id'] = user.id

            return redirect( url_for('index') )

        else:
            error_message= 'Usuario o password no validos!'
            flash(error_message)

        session['username'] = login_form.username.data
    return render_template('login.html', form = login_form)
项目:flask    作者:bobohope    | 项目源码 | 文件源码
def login():
  if 'email' in session:
    return redirect(url_for('home'))

  form = LoginForm()

  if request.method == "POST":
    if form.validate() == False:
      return render_template("login.html", form=form)
    else:
      email = form.email.data
      password = form.password.data

      user = User.query.filter_by(email=email).first()
      if user is not None and user.check_password(password):
        session['email'] = form.email.data
        return redirect(url_for('home'))
      else:
        return redirect(url_for('login'))

  elif request.method == 'GET':
    return render_template('login.html', form=form)
项目:flask-selenium-webdriver-part-one    作者:mbithenzomo    | 项目源码 | 文件源码
def login():
    form = LoginForm()
    if form.validate_on_submit():

        # check whether employee exists in the database and whether
        # the password entered matches the password in the database
        employee = Employee.query.filter_by(email=form.email.data).first()
        if employee is not None and employee.verify_password(
                form.password.data):
            # log employee in
            login_user(employee)

            # redirect to the appropriate dashboard page
            if employee.is_admin:
                return redirect(url_for('home.admin_dashboard'))
            else:
                return redirect(url_for('home.dashboard'))

        # when login details are incorrect
        else:
            flash('Invalid email or password.')

    # load login template
    return render_template('auth/login.html', form=form, title='Login')
项目:project-dream-team-three    作者:mbithenzomo    | 项目源码 | 文件源码
def login():
    form = LoginForm()
    if form.validate_on_submit():

        # check whether employee exists in the database and whether
        # the password entered matches the password in the database
        employee = Employee.query.filter_by(email=form.email.data).first()
        if employee is not None and employee.verify_password(
                form.password.data):
            # log employee in
            login_user(employee)

            # redirect to the appropriate dashboard page
            if employee.is_admin:
                return redirect(url_for('home.admin_dashboard'))
            else:
                return redirect(url_for('home.dashboard'))

        # when login details are incorrect
        else:
            flash('Invalid email or password.')

    # load login template
    return render_template('auth/login.html', form=form, title='Login')
项目:flask_yzd    作者:qqxx6661    | 项目源码 | 文件源码
def login():
    # ?????????
    if current_user.is_authenticated:
        return redirect('index')
    # ????
    form = LoginForm()
    if form.validate_on_submit():
        user = User.login_check(request.form.get('user_name'))
        user_name = request.form.get('user_name')
        password = request.form.get('password')

        # ????
        try:
            user_forpwd = User.query.filter(User.nickname == user_name).first()
            print(type(user_forpwd), user_forpwd.password)
            if not check_password_hash(user_forpwd.password, password):
                flash('????????')
                return redirect('/login')
        except:
            flash("??????????")
            return redirect('/login')

        if user:
            login_user(user)
            user.last_seen = datetime.datetime.now()

            try:
                db.session.add(user)
                db.session.commit()
            except:
                flash("???????????")
                return redirect('/login')

            # flash(request.form.get('user_name'))
            # flash('remember me? ' + str(request.form.get('remember_me')))
            flash('????')
            return redirect(url_for("users", user_id=current_user.id))
        else:
            flash('?????????')
            return redirect('/login')

    return render_template("login.html", title="Sign In", form=form)
项目:Pycourses    作者:billz96    | 项目源码 | 文件源码
def update_profile():
    username = loggedIn(session, LoggedIn)
    if username == False:
        form = LoginForm()
        return render_template('login.html', form=form)

    # AddSkillsForm, EditSkillsForm, EditAvatarForm, EditFullNameForm
    a_skills = AddSkillsForm()
    e_skills = EditSkillsForm()
    e_avatar = EditAvatarForm()
    e_flname = EditFullNameForm()
    e_descr = EditDescription()
    a_descr = AddDescription()

    form = EditProfileForm()
    if form.validate_on_submit():
        # find user by username and his/her profile by his/her id
        user = User.query.filter_by(username=username).first()
        user_profile = Profile.query.filter_by(user_id=user.id).first()

        # update current user's profile data
        user_profile.name = request.form['name']
        user_profile.surname = request.form['surname']
        user_profile.description = request.form['description']
        user_profile.skills = request.form['skills']

        # update avatar
        avatar = form.avatar.data
        filename = secure_filename(avatar.filename) # maybe it's optional because i change the 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'
        target = path.join(APP_ROOT, 'static/avatars/') # target = project's path + /static/avatars
        if not path.isdir(target): # if target doesn't exist
            mkdir(target) # we create the 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)

        avatar.save(new_path) # save the file in the target
        user_profile.avatar = filename

        # save changes in profile table
        db.session.commit()
        user_skills = user_profile.skills.split(',')
        return render_template('profile.html', username=username, user_profile=user_profile, user_skills=user_skills)

    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)