#7269 closed (wontfix)
404 debug page: href=urls
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Core (Other) | Version: | dev |
Severity: | Keywords: | 404 debug | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
"Using the URLconf defined in urls.py, Django tried these URL patterns, in this order:"
Because I often find my self cut/pasting a URL pattern from that page into the address bar, I now can just click on the url patteren.
This is not production code, and it doesn't work 100% of the time in development. But it is 'simple', and better than nothing and is working well for me. The main reason against it is because if it gets accepted into trunk, 5 seconds later someone is going to enter a bug report showing how it doesn't work for some URL, like ^polls/(?P<poll_id>\d+)/results/$
and this will be repeated every day for the next 100 years.
If I need to, I can come up with some wording like "do not count on these links working. If they do, great. If not, you are on your own. Please don't file a bug report unless you have a patch to make it better."
Attachments (4)
Change History (13)
by , 16 years ago
Attachment: | debug.py.diff added |
---|
by , 16 years ago
Attachment: | debug.py.2.diff added |
---|
comment:1 by , 16 years ago
Description: | modified (diff) |
---|
comment:3 by , 16 years ago
I wouldn't call it broken any more than I would call manage.py runserver broken which has a similar warning: "DO NOT USE THIS SERVER IN A PRODUCTION SETTING." http://www.djangoproject.com/documentation/django-admin/#runserver-optional-port-number-or-ipaddr-port
I would call it broken if it did not function as designed. and it does function as designed. What doesn't work is the magic that would figure out a valid URL from a regex that includes a parameter.
This code only gets run when DEBUG=True, and all it does is add some href to the existing text, so it 'should' only be seen by people working on the project, and it is that group that would make use of it.
comment:4 by , 16 years ago
The development server can be used in production. It isn't broken in any sense, it's just not meant for production. By contrast, this patch errs in a very real way.
Think of the UI. This patch would have Django's own server spit out invalid links in many cases, how nice does that look to a newcomer?
You yourself pointed out that the code is broken,
The main reason against it is because if it gets accepted into trunk, 5 seconds later someone is going to enter a bug report showing how it doesn't work for some URL, like
^polls/(?P<poll_id>\d+)/results/$
and this will be repeated every day for the next 100 years.
If every five second, somebody's going to think it's broken, isn't it? It's a matter of opinion, but as you defined, a lot of people will think this is broken behavior.
comment:5 by , 16 years ago
We are trying to predict how newcomers will react - I really don't know if anyone will notice it, let alone go to the trouble of complaining. However, given that you seem to think it might happen (it seems you are agreeing with my crystal ball based prediction), I added the text that should take care of it.
I made the "feel free to do the work" a html comment because I didn't really want it shown to everyone, but if anyone ever dug into the code (like I do when I am submitting a bug report) they would see it. So sort of a 2nd line of defense against the dreaded compliant.
comment:6 by , 16 years ago
oh yeah, I also slid in "will display your custom 404 page." because that is much more accurate than "standard 404 page" which could lead someone to think Django ships with a standard 404 page.
comment:7 by , 16 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Hmm.. I'm going to mark this as wontfix for the moment. Mainly because I can't work out what benefits this has?
comment:8 by , 16 years ago
When I am developing, I am type URL's into my browser's address bar to test code I have just written but not created a link somewhere yet. When I mistype, I get the 404 page that often has the exact text I meant to type. this patch lets me click on the text instead of having to fix my URL by clicking, arrowing, deleting, typing.
It also means I can be lazy and stuff an invalid URL up there like http://127.0.0.1:8000/x get the 404 page, click on what I want to test. it's a poor-man's site map.
comment:9 by , 16 years ago
Simon,
Would you mind re-opening this, or be bent if I reopen it? I can live with a low priority, "may never fix" etc, but closed seems a bit harsh considering you don't understand it.
My hope is that some day someone will understand it, and then it can be accepted. or maybe understand it and say "no way, that's crap."
(I bring this up because once again I am having to hack the code to implement it on my box.)
now works for include(foo.urls) urls too.