Skip to main content

This package allows you to specify optional routes in a url path

Project description

flask_optional_routes

This package allows you to specify optional routes in a url path.

How it works

Simply place a '?' delimiter at the end of a path segment and
this code will automatically add rules for all possible routes.

How to install

  • Method 1: Use PIP
pip install flask_optional_routes
  • Method 2: Download from Github

Usage Example1

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/

Usage Example2

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/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_optional_routes-1.4.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

flask_optional_routes-1.4-py3-none-any.whl (4.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page