Opened 6 years ago

Last modified 3 months ago

#28800 assigned New feature

Add a management command to list URL patterns

Reported by: Martín Peveri Owned by: Keanya Phelps
Component: Core (Management commands) Version: 1.11
Severity: Normal Keywords:
Cc: Keryn Knight, Adam Johnson Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

It would be practical to visualize all the urls of the application in a command, is it possible?. If it is not possible, it is something like this:

python manage.py routes

Change History (11)

comment:1 by Tim Graham, 6 years ago

django-extensions has a show_urls command which "produce a tab-separated list of (url_pattern, view_function, name) tuples for a project." I'm not sure that this needs to be incorporated into Django itself.

in reply to:  1 comment:2 by Martín Peveri, 6 years ago

I understand, but I depend on an extension. Tell me if you consider it to integrate it into the framework and I could send an RP. Thanks!

comment:3 by Keryn Knight, 6 years ago

Cc: Keryn Knight added

Can I suggest that its worth taking to the developers mailing list to discuss this possibility? As an anecdotal datapoint, I know I semi-frequently make use such a command when coming into a project which I've not previously been heavily involved with. The flat output (vs traversing a list of include() usages) gives a decent overview on what's what, and the contrib.admindocs package already provides a similar overview if installed into the admin.

It also isn't a huge amount of new work (in my mind, because I wrote a similar thing to the django-extensions command) precisely because it can depend on the same functions admindocs does. So the maintenance burden is arguably mostly already in place.

comment:4 by Martín Peveri, 6 years ago

I like what I say Keryn Knight. If approved, I could work on the ticket and send a PR.

Version 0, edited 6 years ago by Martín Peveri (next)

comment:5 by Tim Graham, 6 years ago

Component: Core (URLs)Core (Management commands)
Summary: List routes in the consoleAdd a management command to list URL patterns
Triage Stage: UnreviewedSomeday/Maybe

Someone could try to get a consensus on the DevelopersMailingList about this. I've never had a need for it myself. A rough criteria I've used for thinking about whether or not something should be in core is whether 80% of projects use it. The existence of an implementation in django-extensions demonstrates this can live as a third-party library which seems sufficient to me.

comment:6 by Xavier Tilley, 18 months ago

Owner: changed from nobody to Xavier Tilley
Status: newassigned

comment:7 by Carlton Gibson, 18 months ago

Triage Stage: Someday/MaybeAccepted

Discussion at DjangoCon US 2022 suggests it would be a popular enough feature.

comment:8 by Adam Johnson, 11 months ago

Cc: Adam Johnson added

comment:9 by Natalia Bidart, 5 months ago

Link to post in the forum where consensus seems quite clear.

Last edited 5 months ago by Natalia Bidart (previous) (diff)

comment:10 by Xavier Tilley, 5 months ago

I have the feature finished I just haven't had time to finished up the tests and documentation. Hopefully my day job will slow down a bit and I can get a PR in next month.

comment:11 by Keanya Phelps, 3 months ago

Owner: changed from Xavier Tilley to Keanya Phelps
Note: See TracTickets for help on using tickets.
Back to Top