Simply place a '?' delimiter at the end of a path segment and
this code will automatically add rules for all possible routes.
- Method 1: Use PIP
pip install flask_optional_routes
- Method 2:
Download from Github
from flask import Flask
from flask_optional_routes import OptionalRoutes
app = Flask(__name__)
optional = OptionalRoutes(app)
@optional.routes('/<user_id>/<user_name>?/')
def foobar(user_id, user_name=None):
return 'it worked!'
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
Using @optional.routes('/<user_id>/<user_name>?/')
the following urls will show the same endpoint:
- /1/
- /1/john/
from flask import Flask
from flask_optional_routes import OptionalRoutes
app = Flask(__name__)
optional = OptionalRoutes(app)
@optional.routes('/a/b?/c/d?/')
def foobar():
return 'it worked!'
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
Using @optional.routes('/a/b?/c/d?/')
the following urls will show the same endpoint:
- /a/c/
- /a/b/c/
- /a/c/d/
- /a/b/c/d/