Skip to content

Instantly share code, notes, and snippets.

@DazWorrall
Created July 26, 2012 07:54
Show Gist options
  • Save DazWorrall/3180841 to your computer and use it in GitHub Desktop.
Save DazWorrall/3180841 to your computer and use it in GitHub Desktop.
Flask maintenance mode
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
is_maintenance_mode = True
# Always throw a 503 during maintenance: http://is.gd/DksGDm
@app.before_request
def check_for_maintenance():
if is_maintenance_mode and request.path != url_for('maintenance'):
return redirect(url_for('maintenance'))
# Or alternatively, dont redirect
# return 'Sorry, off for maintenance!', 503
@app.route('/')
def index():
return 'Hello!'
@app.route('/maintenance')
def maintenance():
return 'Sorry, off for maintenance!', 503
if __name__ == '__main__':
app.run()
@nupiter
Copy link

nupiter commented Oct 20, 2016

@app.before_request
def check_for_maintenance():
    rule = request.url_rule.rule
    if is_maintenance_mode and 'maintenance' not in rule: 
        return redirect(url_for('maintenance'))

Also works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment