1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Refs #23919 -- Replaced usage of django.utils.http utilities with Python equivalents

Thanks Tim Graham for the review.
This commit is contained in:
Claude Paroz
2017-01-26 14:25:15 +01:00
parent af598187ec
commit fee42fd99e
16 changed files with 63 additions and 83 deletions

View File

@@ -156,8 +156,8 @@ Django provides some assistance.
* The function :func:`django.utils.encoding.iri_to_uri()` implements the
conversion from IRI to URI as required by the specification (:rfc:`3987#section-3.1`).
* The functions :func:`django.utils.http.urlquote()` and
:func:`django.utils.http.urlquote_plus()` are versions of Python's standard
* The functions ``django.utils.http.urlquote()`` and
``django.utils.http.urlquote_plus()`` are versions of Python's standard
``urllib.quote()`` and ``urllib.quote_plus()`` that work with non-ASCII
characters. (The data is converted to UTF-8 prior to encoding.)

View File

@@ -70,9 +70,8 @@ use for reversing. By default, the root URLconf for the current thread is used.
>>> reverse('cities', args=['Orléans'])
'.../Orl%C3%A9ans/'
Applying further encoding (such as :meth:`~django.utils.http.urlquote` or
``urllib.quote``) to the output of ``reverse()`` may produce undesirable
results.
Applying further encoding (such as :func:`urllib.parse.quote`) to the output
of ``reverse()`` may produce undesirable results.
``reverse_lazy()``
==================

View File

@@ -684,27 +684,10 @@ escaping HTML.
.. module:: django.utils.http
:synopsis: HTTP helper functions. (URL encoding, cookie handling, ...)
.. function:: urlquote(url, safe='/')
A version of Python's ``urllib.quote()`` function that can operate on
unicode strings. The url is first UTF-8 encoded before quoting. The
returned string can safely be used as part of an argument to a subsequent
``iri_to_uri()`` call without double-quoting occurring. Employs lazy
execution.
.. function:: urlquote_plus(url, safe='')
A version of Python's urllib.quote_plus() function that can operate on
unicode strings. The url is first UTF-8 encoded before quoting. The
returned string can safely be used as part of an argument to a subsequent
``iri_to_uri()`` call without double-quoting occurring. Employs lazy
execution.
.. function:: urlencode(query, doseq=0)
A version of Python's urllib.urlencode() function that can operate on
unicode strings. The parameters are first cast to UTF-8 encoded strings
and then encoded as per normal.
A version of Python's :func:`urllib.parse.urlencode` function that can
operate on ``MultiValueDict`` and non-string values.
.. function:: cookie_date(epoch_seconds=None)

View File

@@ -585,7 +585,7 @@ be at the end of a line. If they are not, the comments are ignored and
Quoting in ``reverse()``
------------------------
When reversing URLs, Django didn't apply :func:`~django.utils.http.urlquote`
When reversing URLs, Django didn't apply ``django.utils.http.urlquote``
to arguments before interpolating them in URL patterns. This bug is fixed in
Django 1.6. If you worked around this bug by applying URL quoting before
passing arguments to ``reverse()``, this may result in double-quoting. If this