try: from .lib.helpers import get_static_paths, get_content_text from .lib.classUser import User except: from lib.classUser import User from lib.helpers import get_static_paths, get_content_text from . import app from flask import Flask, render_template, redirect, url_for, request from flask_login import LoginManager, UserMixin, login_required login_manager = LoginManager() login_manager.init_app(app) @login_manager.user_loader def load_user(request): token = request.headers.get('Authorization') if(token is None): token = request.args.get('token') if(token is not None): username, password = token.split(':') # naive token user_entry = User.get(username) if(user_entry is not None): user = User(user_entry[0], user_entry[1]) if(user.password == password): return user return None @login_required @app.route('/home', methods=['GET']) def home(): return render_template('home/index.html', user='admin', static_paths=get_static_paths(), content_text=get_content_text()) @app.route('/login', methods=['GET', 'POST']) def login(): if(request.method == 'POST'): if request.form['username'] != 'admin' or request.form['password'] != 'admin': error = 'Invalid Credentials. Please try again.' else: return redirect(url_for('home')) elif(request.method == 'GET'): return render_template('login/index.html', static_paths=get_static_paths(), content_text=get_content_text()) return 'ERROR: Invalid method.' @app.route("/", methods=['GET']) def hello(): return render_template('homepage.html', static_paths=get_static_paths(), content_text=get_content_text()) def main(): app.run(host='0.0.0.0', debug=True) ''' @app.route("/", methods=["GET"]) def index(): return Response(response="Hello World!", status=200) @app.route("/protected/", methods=["GET"]) @login_required def protected(): return Response(response="Hello Protected World!", status=200) '''