def register(): """ User register view. :return: HTTP Response """ if request.method == 'GET': return render_template('register-page.html') else: required_inputs = [ 'username', 'email', 'password1', 'password2', 'terms_and_conditions' ] form_inputs = ['bio', 'country', 'city', 'school'] for inp in required_inputs: if inp not in request.form: return redirect(url_for('core.home')) if is_mail(request.form['email']) is None or \ request.form['password1'] != request.form['password2'] or \ not password_validation(request.form['password1']): return redirect(url_for('core.home')) user = Users(username=request.form['username'], email=request.form['email']) for inp in form_inputs: if inp in request.form: user.__setattr__(inp, request.form[inp]) user.save() user.set_password(request.form['password1']) login_user(user) return redirect(url_for('core.home'))