summaryrefslogtreecommitdiff
path: root/django/urls
AgeCommit message (Collapse)Author
2021-01-29Fixed #32345 -- Fixed preserving encoded query strings in set_language() view.Sandro Covo
Thanks Johannes Maron for the review.
2021-01-11Refs #31791 -- Improved performance of URLResolver.resolve().David Smith
Performance regression in 11ebc6479ffda87376b60c9475d33d8120f86368.
2020-10-22Fixed #32124 -- Added per-view opt-out for APPEND_SLASH behavior.Carlton Gibson
2020-10-06Removed unneeded iri_to_uri() call in reverse().Florian Apolloner
_reverse_with_prefix() already quotes using a stricter subset of the safe characters used by iri_to_uri().
2020-09-07Fixed #31791 -- Made technical 404 debug page display the tried URL patterns ↵Jon Dufresne
for Http404.
2020-09-02Fixed #31858 -- Reallowed whitespaces in URL paths outside of parameters.Tim Park
Regression in 22394bd3a18a7d9a8957a0b431f8ae4e5ca03a8c. Thanks David Smith for the review.
2020-06-22Removed unused param_dict return from URLResolver.resolve_error_handler().Adam Johnson
Unused since its introduction in ed114e15106192b22ebb78ef5bf5bce72b419d13.
2020-05-11Refs #30116 -- Simplified regex match group access with Match.__getitem__().Jon Dufresne
The method has been available since Python 3.6. The shorter syntax is also marginally faster.
2020-04-27Removed unnecessary tuple wrapping of single format string argument.François Freitag
2020-04-15Fixed #31459 -- Fixed handling invalid indentifiers in URL path conversion.Adam Johnson
This patch adjusted existing tests that used invalid identifiers.
2020-01-17Fixed #31166 -- Used "raise from" when raising ImproperlyConfigured ↵Ram Rachum
exceptions in django.urls.resolvers. This change sets the __cause__ attribute to raised exceptions and makes small cleanups in error messages.
2020-01-09Fixed #30995 -- Allowed converter.to_url() to raise ValueError to indicate ↵Jack Cushman
no match.
2019-12-06Fixed #31061 -- Ignored positional args in django.urls.resolve() when all ↵Mariusz Felisiak
optional named parameters are missing. Regression in 76b993a117b61c41584e95149a67d8a1e9f49dd1. Thanks Claude Paroz for the report and Carlton Gibson for reviews.
2019-10-29Fixed #30899 -- Lazily compiled import time regular expressions.Hasan Ramezani
2019-08-20Fixed #29667 -- Prohibited whitespaces in path() URLs.Hasan Ramezani
2019-07-03Fixed #29744 -- Fixed caching of URLResolver for a default URLconf.Benjamin Woodruff
get_resolver() for a default URLconf (passing no argument) and for settings.ROOT_URLCONF should return the same cached object.
2019-06-24Fixed #26431 -- Prevented django.urls.resolve() from returning missing ↵daniel a rios
optional parameters. Previous behavior was inconsistent with django.urls.reverse() and caused that translate_url() created an incorrect URL when an optional parameter was missing.
2019-06-20Fixed #30451 -- Added ASGI handler and coroutine-safety.Andrew Godwin
This adds an ASGI handler, asgi.py file for the default project layout, a few async utilities and adds async-safety to many parts of Django.
2019-06-12Simplified django.urls.reverse() a bit.Sergey Fedoseev
2019-04-25Fixed #30318 -- Added check for importability of arguments of custom error ↵Alasdair Nicol
handler views. Thanks to Jon on Stack Overflow for reporting the issue.
2019-02-04Removed django.utils.lru_cache usage.Tim Graham
2018-12-06Fixed #28766 -- Added ResolverMatch.route.Benjamin Wohlwend
Co-Authored-By: Xavier Fernandez <xavier.fernandez@polyconseil.fr>
2018-10-04Fixed #29775 -- Fixed URL converters in a nested namespaced path.Eric Brandwein
When using include() without namespaces of some urlpatterns that have an include() with namespace, the converters of the parent include() weren't being used to convert the arguments of reverse().
2018-09-14Fixed #29642 -- Added check for arguments of custom error handler views.Adam Johnson
2018-08-01Fixed CVE-2018-14574 -- Fixed open redirect possibility in CommonMiddleware.Andreas Hug
2018-05-26Fixed #29415 -- Fixed detection of custom URL converters in included patterns.Xaroth Brook
2018-01-03Fixed #28982 -- Simplified code with and/or.Дилян Палаузов
2017-12-26Fixed #28930 -- Simplified code with any() and all().Дилян Палаузов
2017-12-20Fixed #28947 -- Fixed crash when coercing a translatable URL pattern to str.Tilmann Becker
Regression in df41b5a05d4e00e80e73afe629072e37873e767a.
2017-12-11Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.Nick Pope
2017-12-04Fixed #28860 -- Removed unnecessary len() calls.Дилян Палаузов
2017-11-08Refs #28593 -- Updated old class names in comments following URL routing ↵Andrei Fokau
changes.
2017-11-07Fixed #28663 -- Add a check for likely incorrectly migrated ↵Chris Lamb
django.urls.path() routes.
2017-10-20Removed redundant inner imports.Mariusz Felisiak
2017-09-30Refs #27025, #28593 -- Fixed "invalid escape sequence" warnings in ↵Jon Dufresne
urls/resolvers.py.
2017-09-25Fixed #27857 -- Dropped support for Python 3.4.Tim Graham
2017-09-25Merged startswith() calls.Mariusz Felisiak
2017-09-22Refs #28593 -- Made URLResolver._populate() more resilient to signal interrupts.Daniel Tao
_populate() sets the populating attribute to prevent infinite recursion in case a urlconf includes itself. The flag is a threadlocal to avoid a race condition [1] where one thread sets the flag and another checks it, then proceeds to access data that's supposed to be populated (e.g. _reverse_dict) but isn't yet. The potential still exists for a thread to set the threadlocal, then be interrupted by a signal such as SIGALRM and raise before resetting the threadlocal flag. In this scenario, subsequent calls to _populate() in the same thread will short-circuit erroneously. The bulk of the method was already wrapped in a try/finally in df41b5a, but since a signal interrupt can occur at any line executed by the interpreter, this moves up the try to ensure threadlocal gets reset. [1]: https://groups.google.com/d/msg/django-developers/D_bIeinKHjE/4NmVQUJqAgAJ
2017-09-20Fixed #28593 -- Added a simplified URL routing syntax per DEP 0201.Sjoerd Job Postmus
Thanks Aymeric Augustin for shepherding the DEP and patch review. Thanks Marten Kenbeek and Tim Graham for contributing to the code. Thanks Tom Christie, Shai Berger, and Tim Graham for the docs.
2017-09-13Refs #28593 -- Moved django.conf.urls.include() to django.urls().Tim Graham
The old location remains for backwards compatibility. Documentation will be updated separately along with the rest of the URL routing changes.
2017-09-07Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."Tim Graham
This reverts commit 550cb3a365dee4edfdd1563224d5304de2a57fda because try/except performs better.
2017-07-29Avoided creation of temporary sets.Sergey Fedoseev
2017-06-28Fixed #27818 -- Replaced try/except/pass with contextlib.suppress().Mads Jensen
2017-05-27Fixed #28249 -- Removed unnecessary dict.keys() calls.Jon Dufresne
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27Fixed #28226 -- Replaced use of str.join() with concatenation.Tom
2017-04-27Refs #27795 -- Replaced many force_text() with str()Claude Paroz
Thanks Tim Graham for the review.
2017-02-07Converted usage of ugettext* functions to their gettext* aliasesClaude Paroz
Thanks Tim Graham for the review.
2017-01-26Refs #23919 -- Replaced usage of django.utils.http utilities with Python ↵Claude Paroz
equivalents Thanks Tim Graham for the review.
2017-01-25Refs #23919 -- Replaced super(ClassName, self) with super().chillaranand
2017-01-23Assumed iri_to_uri always returns a stringClaude Paroz
Thanks Tim Graham for the review.