def user_profile(): if request.method == 'GET': submit_url = url_for('.user_profile', _method='POST') return render_template('profile_form.html', submit_url=submit_url) else: session = Session() try: form = request.form username = form['username'] if username_already_used(session, username): return "Username %s is already used. Click on <a href='%s'>Back</a> to go back" \ % (username, url_for(user_profile)) prof = Profile() prof.userid = gen_random_uid() prof.username = username prof.created = str(int(time.time() * 1000)) prof.firstname = form['firstname'] prof.lastname = form['lastname'] prof.age = form['age'] prof.bio = form['biography'] prof.gender = form['gender'] file = request.files['image'] img_filename = secure_filename(file.filename) prof.image = img_filename try: file.save( os.path.join(app.config['UPLOAD_FOLDER'], prof.userid + '_' + img_filename)) except Exception: pass session.add(prof) session.commit() except Exception: session.rollback() return "Profile submitted. Click on <a href='%s'>Back</a> to go back" % url_for( '.user_profile')