Commit Graph

98 Commits

Author SHA1 Message Date
Malcolm Tredinnick a63a83e5d8 A rewrite of the reverse URL parsing: the reverse() call and the "url" template tag.
This is fully backwards compatible, but it fixes a bunch of little bugs. Thanks
to SmileyChris and Ilya Semenov for some early patches in this area that were
incorporated into this change.

Fixed #2977, #4915, #6934, #7206.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8760 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-31 11:11:20 +00:00
Jacob Kaplan-Moss a46d3ebfcc Fixed #8221: added some better `NoReverseMatch` error strings. Thanks, mrts.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8672 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-28 19:05:14 +00:00
Jacob Kaplan-Moss 3d577febc7 Fixed #7524: allow errors raised during import of a urlconf to bubble up.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8664 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-28 16:14:13 +00:00
Luke Plant 50e6928c5b Made NoReverseMatch exceptions more helpful. Thanks, mrts
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8272 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-09 18:06:51 +00:00
Malcolm Tredinnick bfcecbffd3 Changed/fixed the way Django handles SCRIPT_NAME and PATH_INFO (or
equivalents). Basically, URL resolving will only use the PATH_INFO and the
SCRIPT_NAME will be prepended by reverse() automatically. Allows for more
portable development and installation. Also exposes SCRIPT_NAME in the
HttpRequest instance.

There are a number of cases where things don't work completely transparently,
so mod_python and fastcgi users should read the relevant docs.

Fixed #285, #1516, #3414.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8015 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-21 07:57:10 +00:00
Malcolm Tredinnick 189c704ae6 Revert [7991] - [7993]. I was committing from the wrong branch. Sorry 'bout
that, folks. :-(


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7995 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19 19:37:55 +00:00
Malcolm Tredinnick b653cdcfb2 First part of setting request.path correctly.
Still needs:
    - testing
    - docs changes
    - some way of fixing reverse().


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7991 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19 19:32:01 +00:00
Russell Keith-Magee 415bd694f9 Fixed #7521 -- Added the ability to customize ROOT_URLCONF for the duration of a TestCase. Thanks to Mark Fargas (telenieko) for his work on this patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7805 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-30 12:34:29 +00:00
Adrian Holovaty e073861332 Fixed #6831 -- Reverse URL resolver now replaces backslashes correctly. Thanks, Bastian Kleineidam
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7660 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-16 04:16:21 +00:00
Malcolm Tredinnick a1496b054a Fixed #5732 -- Catch all possible errors when importing a URLConf file. This
leads to error messages that contain the name of the problem file (useful when
the problem is part of an include() import).


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6584 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-21 17:51:06 +00:00
Malcolm Tredinnick 53e3f76d6e Fixed #4839 -- Added __repr__ methods to URL classes that show the pattern they
contain. Thanks, Thomas Güttler.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5681 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-13 09:14:51 +00:00
Malcolm Tredinnick cc1a4f031c Fixed #4823 -- Fixed a Python 2.3 incompatibility from [5636] (it was even
demonstrated by existing tests, so I really screwed this up).


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5641 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-10 12:02:06 +00:00
Malcolm Tredinnick 5a32b3ac2c Fixed #4798-- Made sure that function keyword arguments are strings (for the
keywords themselves) when using Unicode URL patterns.



git-svn-id: http://code.djangoproject.com/svn/django/trunk@5636 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-08 11:22:53 +00:00
Malcolm Tredinnick b6812f2d9d Fixed reverse URL lookup using functions when the original URL pattern was a
string. This is now just as fragile as it was prior to [5609], but works in a
few cases that people were relying on, apparently.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5632 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-08 00:39:32 +00:00
Malcolm Tredinnick 8c85ddf306 Fixed #4772 -- Fixed reverse URL creation to work with non-ASCII arguments.
Also included a test for non-ASCII strings in URL patterns, although that
already worked correctly.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5630 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-07 18:24:27 +00:00
Malcolm Tredinnick 953badbea5 Merged Unicode branch into trunk (r4952:5608). This should be fully
backwards compatible for all practical purposes.

Fixed #2391, #2489, #2996, #3322, #3344, #3370, #3406, #3432, #3454, #3492, #3582, #3690, #3878, #3891, #3937, #4039, #4141, #4227, #4286, #4291, #4300, #4452, #4702


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5609 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-04 12:11:04 +00:00
Malcolm Tredinnick b8b9c95dca Changed reverse URL resolving to handle the case where an included file does
not have a urlpatterns attribute.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5538 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-25 16:19:36 +00:00
Malcolm Tredinnick a5802b35dd Fixed #4453 -- Allow dots in URL pattern names (although the string in that case is first tried as an import path and only then falls back to being treated as a pattern).
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5530 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-25 04:34:34 +00:00
Malcolm Tredinnick 6b88d4abd0 Fixed #4673 -- Fixed error reporting bug from [5516]. Also changed the timing
for populating the reverse cache, since that may have been happening too early.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5520 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-24 09:38:30 +00:00
Malcolm Tredinnick fc20eeec47 Fixed a Python 2.3 incompatibility I overlooked in [5516].
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5517 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-23 06:02:17 +00:00
Malcolm Tredinnick 5f5f1d913b Fixed #4566 -- Added caching speed-ups to reverse URL matching. Based on a
patch from smoo.master@gmail.com.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5516 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-06-23 05:40:28 +00:00
Malcolm Tredinnick f85f1d077a Fixed #4129 -- Pass any prefix setting into url(...) constructions so that
prefixes work with the new syntax and strings for function names.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5086 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-26 11:17:19 +00:00
Malcolm Tredinnick d882656ea3 Added the ability to name URL patterns. Helps with disambiguity reverse matches.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4901 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-01 07:25:20 +00:00
Adrian Holovaty 6871a455e2 Teeny weeny optimization to RegexURLPattern.resolve()
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4587 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-02-25 22:31:31 +00:00
Jacob Kaplan-Moss afb2366430 Fixed #2875: made urlresolvers.get_mod_func() deal with non-qualified callbacks better. Thanks, Matt McClanahan.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4047 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-11-07 05:05:16 +00:00
Adrian Holovaty 41d11a685f Fixed #2968 -- Changed arguments to __import__ to use empty dictionary instead of empty string, for stricter compliance with Python library reference. Thanks for the patch, Yasushi Masuda
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3951 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-10-30 20:50:27 +00:00
Jacob Kaplan-Moss aaa3411a0a Made the !NoReverseMatch exception fail silently within templates (so that model.permalink doesn't cause templates to break for a broken permalink function).
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3898 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-10-09 23:24:48 +00:00
Adrian Holovaty 0b71ffacab Improved urlresolvers so that URLconfs can be passed objects instead of strings
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3554 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-08-11 07:01:29 +00:00
Adrian Holovaty 1a428ec9b8 Fixed #2370 -- It's now possible to pass default URLconf arguments to include(). Added docs, as well. Thanks for the patch, martin.glueck@gmail.com
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-08-01 02:57:08 +00:00
Adrian Holovaty 36ee8f5ad2 Added leading slash to output of core.urlresolvers.reverse(), and made 'urlconf' a keyword argument
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3470 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-07-28 02:08:17 +00:00
Adrian Holovaty 3d02de2713 Added resolve() and reverse() helper functions to django.core.urlresolvers
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3445 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-07-25 07:30:22 +00:00
Adrian Holovaty 2abfd5dd58 Fixed #2109 -- Convert old-style classes to new-style classes throughout Django. Thanks, Nicola Larosa
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3113 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-06-08 05:00:13 +00:00
Adrian Holovaty bd5b35069b Fixed #2025 -- Fixed some issues with URL reversal, which still isn't ready for prime time. Thanks, medhat
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3057 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-06-02 04:38:16 +00:00
Adrian Holovaty d9c4af6b37 Added first stab at reverse matching to urlresolvers.py
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2910 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-05-16 04:05:55 +00:00
Adrian Holovaty f69cf70ed8 MERGED MAGIC-REMOVAL BRANCH TO TRUNK. This change is highly backwards-incompatible. Please read http://code.djangoproject.com/wiki/RemovingTheMagic for upgrade instructions.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2809 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-05-02 01:31:56 +00:00
Adrian Holovaty cc3660c07d Fixed #878 -- URLconf regex captures no longer have to be named groups. Old URLconfs (with named groups) still work. This is backwards-incompatible if you've defined custom middleware with a process_view function. See http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1470 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-11-27 22:08:51 +00:00
Adrian Holovaty 08a494c40d Added better error handling for trailing periods in URLconf include()s
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1376 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-11-23 21:44:48 +00:00
Adrian Holovaty 38649f4c3f Fixed #537 -- Fixed typo in [718]. Thanks, Esaj
git-svn-id: http://code.djangoproject.com/svn/django/trunk@719 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-09-29 14:59:49 +00:00
Jacob Kaplan-Moss 22f27949bd Fixed #537; thanks, fonso
git-svn-id: http://code.djangoproject.com/svn/django/trunk@718 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-09-29 13:29:12 +00:00
Adrian Holovaty c084005d58 Fixed #131 -- URLconfs that are 'included' now receive captured parameters from parent URLconfs. Thanks for the idea, jcernelli@gmail.com
git-svn-id: http://code.djangoproject.com/svn/django/trunk@704 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-09-27 04:24:19 +00:00
Adrian Holovaty e67882721d Refactored django.core.urlresolvers a tiny bit
git-svn-id: http://code.djangoproject.com/svn/django/trunk@479 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-08-10 22:20:18 +00:00
Adrian Holovaty 59c3ebc6dd Greatly improved the 404 error message when DEBUG=True. If none of the urlpatterns matches, Django now displays a list of all the urlpatterns it tried. This should catch a lot of newbie errors, and it's helpful even for power users.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@414 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-08-05 22:22:41 +00:00
Adrian Holovaty a55598cbdd Refactored the internals of URL parsing to use less code
git-svn-id: http://code.djangoproject.com/svn/django/trunk@411 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-08-05 20:50:19 +00:00
Jacob Kaplan-Moss af95567c14 Improved error message in urlresolvers (fixes #240)
git-svn-id: http://code.djangoproject.com/svn/django/trunk@357 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-08-01 14:41:01 +00:00
Adrian Holovaty b430d4c54f Improved error message in urlresolvers.RegexURLResolver.resolve to use repr instead of str on app_path
git-svn-id: http://code.djangoproject.com/svn/django/trunk@204 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-07-19 14:47:41 +00:00
Adrian Holovaty fc85642ed5 Added a more helpful error message to django.core.urlresolvers.RegexURLResolver.resolve
git-svn-id: http://code.djangoproject.com/svn/django/trunk@196 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-07-19 05:45:31 +00:00
Adrian Holovaty 3ab5791383 Improved ViewDoesNotExist error messages in django.core.urlresolvers
git-svn-id: http://code.djangoproject.com/svn/django/trunk@193 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-07-19 04:30:23 +00:00
Adrian Holovaty ed114e1510 Imported Django from private SVN repository (created from r. 8825)
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2005-07-13 01:25:57 +00:00