SQLALCHEMY_COMMIT_ON_TEARDOWN=True)) # use login manager to manage session login_manager = LoginManager() login_manager.anonymous_user = Anonymous login_manager.session_protection = 'strong' login_manager.login_view = 'index' login_manager.init_app(app=server) # csrf protection csrf = CSRFProtect() csrf.init_app(server) #flask dropzone dropzone = Dropzone() dropzone.init_app(server) server.config['DROPZONE_ENABLE_CSRF'] = True server.config['DROPZONE_ALLOWED_FILE_CUSTOM'] = True server.config[ 'DROPZONE_ALLOWED_FILE_TYPE'] = '.png, .jpg, .jpeg, .JPG, .pdf, .JPEG' server.config['DROPZONE_UPLOAD_MULTIPLE'] = False server.config['DROPZONE_PARALLEL_UPLOADS'] = 1 server.config['DROPZONE_MAX_FILES'] = 10 server.config['DROPZONE_MAX_FILE_SIZE'] = 10 @server.teardown_request def shutdown_session(exception=None): db_session.remove()
############### app = Flask(__name__) app.secret_key = '&#*OnNyywiy1$#@' app.config.from_pyfile('app.cfg') HOST = '0.0.0.0' PORT = 5000 DEBUG = False ### DATABASE DB = TinyMongoClient().blog initialize(DB) ### FILE UPLOADS PARAMETERS dropzone = Dropzone() dropzone.init_app(app) # UPLOAD FOLDER will have to change based on your own needs/deployment scenario BASE_DIR = os.path.dirname(os.path.abspath(__file__)) UPLOAD_FOLDER = os.path.join(BASE_DIR, './uploads') app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) @app.before_request def before_request(): """tasks before request is executed""" g.db = DB g.username = session.get('username') g.is_authenticated = session.get('is_authenticated') g.is_admin = session.get('is_admin')