You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
899 B
38 lines
899 B
from flask import Flask, redirect, url_for
|
|
from flask_login import LoginManager
|
|
from flask_bcrypt import Bcrypt
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
from flask_migrate import Migrate
|
|
|
|
db = SQLAlchemy()
|
|
|
|
|
|
def create_app():
|
|
app = Flask(__name__, template_folder='templates', static_folder='static', static_url_path='/')
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///./test.db'
|
|
app.secret_key = 'SOME KEY'
|
|
db.init_app(app)
|
|
|
|
login_manager = LoginManager()
|
|
login_manager.init_app(app)
|
|
|
|
from models import User
|
|
|
|
@login_manager.user_loader
|
|
def load_user(uid):
|
|
return User.query.get(uid)
|
|
|
|
@login_manager.unauthorized_handler
|
|
def unauthorized_callback():
|
|
return redirect(url_for('index'))
|
|
|
|
|
|
bcrypt = Bcrypt(app)
|
|
|
|
|
|
from routes import register_routes
|
|
register_routes(app, db, bcrypt)
|
|
Migrate(app, db)
|
|
return app
|
|
|