Estoy trabajando en una aplicación Flask y quería agregar una página de modo de mantenimiento personalizada controlada mediante una variable. ¿Hay alguna manera de que pueda hacer esto además de crear declaraciones si-entonces para verificar si la variable es verdadera? Por ejemplo, lo que haría:
@app.route("/mypage") def mypage(): if (maintenance_mode == 1): return render_template("maintenance.html") return "response" Me gustaría hacer esto sin usar una declaración if-then y preferiblemente solo use 1 @app.route .
Es posible que ni siquiera necesites un matraz para esto y puedas controlarlo en otros niveles, pero aquí hay buenos ejemplos para hacerlo.
Se sugiere agregar @app.before_request y verificar el indicador de mantenimiento. ( @app.before_request se llamará antes de todas las solicitudes, por lo que no necesita realizar una verificación de mantenimiento para las 50 rutas).
@app.before_request def check_under_maintenance(): if maintenance_mode == 1: #this flag can be anything, read from file,db or anything abort(503) @app.route('/') def index(): return "This is Admiral Ackbar, over" @app.errorhandler(503) def error_503(error): return render_template("maintenance.html")