Skip to main content

UUID url converter for Flask routes

Project description

Flask-UUID is a simple Flask extension that registers a UUID converter for urls on a Flask application. It uses the standard library’s uuid module to convert UUIDs to and from strings.

This extension allows you to easily route and generate urls containing UUID, e.g. /page/fe4a3e33-cb4b-42ac-a29b-a8160a85af7e.

Installation

Installation is trivial:

$ pip install Flask-UUID

Usage

Flask-UUID is a well-behaved Flask extension, so you can either initialise it directly upon instantiation:

from flask import Flask
from flask.ext.uuid import FlaskUUID

app = Flask(__name__)
FlaskUUID(app)

Or initialise it like this:

from flask import Flask
from flask.ext.uuid import FlaskUUID

app = Flask(__main__)

flask_uuid = FlaskUUID()
flask_uuid.init_app(app)

Now you can use it in your routes like any other converter:

@app.route('/<uuid:id>')
def mypage(id):
    return id  # 'id' is a uuid.UUID instance

You can also use UUID instances to generate urls:

random_uuid = uuid.uuid4()
url = app.url_for('mypage', id=random_uuid)

Note that, by default, the converter only accepts and generates lowercase hexadecimal UUIDs with dashes at the proper places, in order to keep urls unique. If you want to accept any UUID string accepted by the uuid.UUID() constructor, simply set the strict flag to False:

@app.route('/<uuid(strict=False):id>'>
def mypage(id):
    return id

License

This software is BSD licensed; see LICENSE.rst for more information.

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-UUID-0.2.tar.gz (2.0 kB view details)

Uploaded Source

File details

Details for the file Flask-UUID-0.2.tar.gz.

File metadata

  • Download URL: Flask-UUID-0.2.tar.gz
  • Upload date:
  • Size: 2.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Flask-UUID-0.2.tar.gz
Algorithm Hash digest
SHA256 f9a8196eb896599ba9e74dcf713cfd1aca4669d418c19069e088620ae6294805
MD5 1d71c56a807a9317532d41f29b041b9c
BLAKE2b-256 1e17ed38fb7a9d7685bb1553dc3c1c6acd0bc960cb8935ad432e58665a7802e9

See more details on using hashes here.

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