Dj Urls Panel
Django admin URL introspection. Inspect, search, and understand your project's URL routing, directly from the admin.
Docs
https://django-control-room.github.io/dj-urls-panel/
Features
- URL Visualization: View all Django URL patterns in an organized, searchable interface
- URL Testing Interface: Swagger-like interface for testing URLs with:
- HTTP method selection (GET, POST, PUT, PATCH, DELETE, etc.)
- Dynamic URL parameter input
- Header specification
- Authentication support (Bearer, Token, Basic Auth, Session)
- Request body editor with JSON formatting
- Live cURL command generation with copy functionality
- Real-time response display with headers and body
- DRF Integration: Automatic detection and visualization of Django REST Framework serializers
- Security Features:
- Configurable SSRF protection with default blocklist for internal IPs
- Optional host whitelisting for production environments
- Ability to disable testing interface entirely
- Search & Filter: Search URLs by pattern, name, or view function
- Namespace Support: Filter and organize URLs by namespace
- AI Agent Integration (MCP): Exposes
list_urls,get_url_detail, andinspect_viewtools so AI agents (Cursor, Claude, etc.) can introspect your URL routing via dj-control-room's MCP server
Requirements
- Python 3.9+
- Django 4.2+
Screenshots
Django Admin Integration
Seamlessly integrated into your Django admin interface. A new section for dj-urls-panel will appear in the same places where your models appear.
NOTE: This application does not actually introduce any model or migrations.
URL List View
Browse all URLs in your Django project with detailed information about patterns, views, and namespaces.
URL Detail & Testing Interface
View detailed information about each URL and test it directly from the admin interface.
DRF Serializer Information
Automatic detection and visualization of Django REST Framework serializers with field details.
URL Metadata & Usage Examples
View URL metadata and get code examples for using URLs in your Django views.
Installation
pip install dj-urls-panel dj-control-room
Add it to INSTALLED_APPS, include its URLs, and migrate:
INSTALLED_APPS = [
# ...
'dj_control_room_base',
'dj_urls_panel',
'dj_control_room',
# ...
]
urlpatterns = [
path('admin/dj-control-room-base/', include('dj_control_room.urls')),
path('admin/dj-urls-panel/', include('dj_urls_panel.urls')),
path('admin/dj-control-room/', include('dj_control_room.urls'),)
path('admin/', admin.site.urls),
]
python manage.py migrate
Then visit /admin/ and look for the "DJ URLS PANEL" section.
For the full walkthrough, settings reference (URL filtering, testing/SSRF security, CSS), and production recommendations, see the Installation and Configuration docs.
MCP Tools (AI Agent Integration)
Ships list_urls, get_url_detail, and inspect_view tools that dj-control-room's MCP server exposes to AI agents (Cursor, Claude, etc.), so they can look up URL routing, DRF serializer info, and view source locations without grepping your codebase.
See Features → MCP Tools for the full tool reference and Scopes for how agent access is permissioned separately from the admin UI.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Want to contribute or set up the project for local development? See Contributing for prerequisites, Docker/virtualenv setup, running the example project, and the test suite.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dj_urls_panel-0.5.0.tar.gz.
File metadata
- Download URL: dj_urls_panel-0.5.0.tar.gz
- Upload date:
- Size: 42.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cdbd655b5e8ff9ece18582f94a2dce496a18ada72c4fa73017bbc2969ca4c1e
|
|
| MD5 |
30d73d49b16dd87dc446e09da98100bf
|
|
| BLAKE2b-256 |
f52a7e737a09025a405ea1fc8fd6e7e59d25913c8305c2b24ab45acfb07779ce
|
Provenance
The following attestation bundles were made for dj_urls_panel-0.5.0.tar.gz:
Publisher:
python-publish.yml on django-control-room/dj-urls-panel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dj_urls_panel-0.5.0.tar.gz -
Subject digest:
7cdbd655b5e8ff9ece18582f94a2dce496a18ada72c4fa73017bbc2969ca4c1e - Sigstore transparency entry: 2425440689
- Sigstore integration time:
-
Permalink:
django-control-room/dj-urls-panel@df20376b88d70570603f6d6d4fb0a64e4fc28a94 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/django-control-room
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@df20376b88d70570603f6d6d4fb0a64e4fc28a94 -
Trigger Event:
release
-
Statement type:
File details
Details for the file dj_urls_panel-0.5.0-py3-none-any.whl.
File metadata
- Download URL: dj_urls_panel-0.5.0-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9eddf66216570a8909ddcf0d94efd855ca15953e080f1b214f3ebcc315ee254
|
|
| MD5 |
c76f4daa6ebb2fc5fd4e43706aa85d85
|
|
| BLAKE2b-256 |
0f5c29dd8baf044078d977fb1824db3ff0cdd1b3dcdbd71b988ca82d99843e29
|
Provenance
The following attestation bundles were made for dj_urls_panel-0.5.0-py3-none-any.whl:
Publisher:
python-publish.yml on django-control-room/dj-urls-panel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dj_urls_panel-0.5.0-py3-none-any.whl -
Subject digest:
b9eddf66216570a8909ddcf0d94efd855ca15953e080f1b214f3ebcc315ee254 - Sigstore transparency entry: 2425440812
- Sigstore integration time:
-
Permalink:
django-control-room/dj-urls-panel@df20376b88d70570603f6d6d4fb0a64e4fc28a94 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/django-control-room
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@df20376b88d70570603f6d6d4fb0a64e4fc28a94 -
Trigger Event:
release
-
Statement type: