Skip to main content

URL resolver utilities for Django

Project description

django-urr

Django URL resolver utilities

This package aims to make it easier to introspect and possibly manipulate the URL resolver(s) in Django projects.

We use urr to auto-generate smoke tests for all URLs in the project, but you might come up with other uses. Who knows!

Installation

Install the package using pip install or similar.

To use the management command(s), also add django_urr to your project's INSTALLED_APPS.

urr_list Management Command

You can use the urr_list management command to generate a machine-readable (but human-greppable) list of URLs in your project.

By default, urr_list outputs JSON Lines (jsonl), with each route on a line of its own; this is greppable with standard tools. If you'd prefer, you can also direct urr_list to output a single JSON array with --format=json.

Each route is an object (dict) has the following keys:

  • groups – the named capture groups (route arguments). For unnamed groups, these are named _0, _1, etc. by Django.
  • name – the name of the route, if any
  • namespace – the namespace of the route, if any
  • path – the path of the route, as a Python percent format string
  • pattern – the regex to match the path

Programmatic API

The django_urr.extract_urls() function traverses the tree of URL patterns and returns an iterator of django_urr.extract.URLEntry objects in original mounting order.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

django_urr-0.3.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file django_urr-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: django_urr-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for django_urr-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 40a392187b42e79a96950d974f1f9020721060ef11cdbac24e2d6b3bc5402f56
MD5 33fa2193783b795552a0d963878df66b
BLAKE2b-256 34802555d9a7474bb21127cdc460b4e5a0c2ddaf29b278a48da9feac61e506fc

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