From 0a4b04fc23356aa6970ca1b17cb5e6955b108289 Mon Sep 17 00:00:00 2001
From: Claude Paroz <claude@2xlibre.net>
Date: Fri, 19 Dec 2014 16:25:57 +0100
Subject: [PATCH] Used https for most *.python.org links

---
 docs/conf.py                             | 2 +-
 docs/faq/general.txt                     | 2 +-
 docs/faq/install.txt                     | 2 +-
 docs/howto/deployment/checklist.txt      | 2 +-
 docs/howto/deployment/wsgi/index.txt     | 2 +-
 docs/howto/outputting-csv.txt            | 2 +-
 docs/howto/windows.txt                   | 6 +++---
 docs/intro/contributing.txt              | 2 +-
 docs/intro/index.txt                     | 2 +-
 docs/intro/install.txt                   | 2 +-
 docs/intro/overview.txt                  | 2 +-
 docs/intro/reusable-apps.txt             | 2 +-
 docs/intro/tutorial01.txt                | 4 ++--
 docs/ref/contrib/gis/install/index.txt   | 8 ++++----
 docs/ref/contrib/index.txt               | 2 +-
 docs/ref/databases.txt                   | 4 +---
 docs/ref/files/file.txt                  | 2 +-
 docs/ref/files/uploads.txt               | 2 +-
 docs/ref/models/instances.txt            | 2 +-
 docs/ref/settings.txt                    | 8 ++++----
 docs/ref/templates/builtins.txt          | 2 +-
 docs/ref/utils.txt                       | 4 ++--
 docs/releases/1.3.txt                    | 4 ++--
 docs/releases/1.4.txt                    | 2 +-
 docs/releases/1.5.1.txt                  | 2 +-
 docs/releases/1.6.txt                    | 2 +-
 docs/releases/1.8.txt                    | 2 +-
 docs/topics/class-based-views/mixins.txt | 2 +-
 docs/topics/db/queries.txt               | 2 +-
 docs/topics/db/sql.txt                   | 2 +-
 docs/topics/db/transactions.txt          | 7 ++-----
 docs/topics/files.txt                    | 2 +-
 docs/topics/install.txt                  | 4 ++--
 docs/topics/logging.txt                  | 4 ++--
 docs/topics/python3.txt                  | 6 +++---
 docs/topics/serialization.txt            | 2 +-
 36 files changed, 52 insertions(+), 57 deletions(-)

diff --git a/docs/conf.py b/docs/conf.py
index 1896176340..e9063f3200 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -126,7 +126,7 @@ pygments_style = 'trac'
 # Links to Python's docs should reference the most recent version of the 3.x
 # branch, which is located at this URL.
 intersphinx_mapping = {
-    'python': ('http://docs.python.org/3/', None),
+    'python': ('https://docs.python.org/3/', None),
     'sphinx': ('http://sphinx-doc.org/', None),
     'six': ('http://pythonhosted.org/six/', None),
     'formtools': ('http://django-formtools.readthedocs.org/en/latest/', None),
diff --git a/docs/faq/general.txt b/docs/faq/general.txt
index a175e44325..7bbf632967 100644
--- a/docs/faq/general.txt
+++ b/docs/faq/general.txt
@@ -25,7 +25,7 @@ projects -- `Apache`_, `Python`_, and `PostgreSQL`_ to name a few -- and we're
 thrilled to be able to give something back to the open-source community.
 
 .. _Apache: http://httpd.apache.org/
-.. _Python: http://www.python.org/
+.. _Python: https://www.python.org/
 .. _PostgreSQL: http://www.postgresql.org/
 
 What does "Django" mean, and how do you pronounce it?
diff --git a/docs/faq/install.txt b/docs/faq/install.txt
index 50957c65e6..14e7d8b995 100644
--- a/docs/faq/install.txt
+++ b/docs/faq/install.txt
@@ -31,7 +31,7 @@ If you want to use Django with a database, which is probably the case, you'll
 also need a database engine. PostgreSQL_ is recommended, because we're
 PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.
 
-.. _Python: http://www.python.org/
+.. _Python: https://www.python.org/
 .. _PostgreSQL: http://www.postgresql.org/
 .. _MySQL: http://www.mysql.com/
 .. _`SQLite 3`: http://www.sqlite.org/
diff --git a/docs/howto/deployment/checklist.txt b/docs/howto/deployment/checklist.txt
index d7cffdd3b2..4697a3625d 100644
--- a/docs/howto/deployment/checklist.txt
+++ b/docs/howto/deployment/checklist.txt
@@ -253,4 +253,4 @@ drastically increase CPU usage by causing worst-case performance when
 creating ``dict`` instances. See `oCERT advisory #2011-003
 <http://www.ocert.org/advisories/ocert-2011-003.html>`_ for more information.
 
-.. _-r: http://docs.python.org/2.7/using/cmdline.html#cmdoption-R
+.. _-r: https://docs.python.org/using/cmdline.html#cmdoption-R
diff --git a/docs/howto/deployment/wsgi/index.txt b/docs/howto/deployment/wsgi/index.txt
index 337db7abd1..128e296ad6 100644
--- a/docs/howto/deployment/wsgi/index.txt
+++ b/docs/howto/deployment/wsgi/index.txt
@@ -80,7 +80,7 @@ You could also replace the Django WSGI application with a custom WSGI
 application that later delegates to the Django WSGI application, if you want
 to combine a Django application with a WSGI application of another framework.
 
-.. _`WSGI middleware`: http://www.python.org/dev/peps/pep-3333/#middleware-components-that-play-both-sides
+.. _`WSGI middleware`: https://www.python.org/dev/peps/pep-3333/#middleware-components-that-play-both-sides
 
 .. note::
 
diff --git a/docs/howto/outputting-csv.txt b/docs/howto/outputting-csv.txt
index 71cb5db036..611453820a 100644
--- a/docs/howto/outputting-csv.txt
+++ b/docs/howto/outputting-csv.txt
@@ -71,7 +71,7 @@ mention:
 
     For more information, see the Python documentation of the :mod:`csv` module.
 
-    .. _`csv module's examples section`: http://docs.python.org/2/library/csv.html#examples
+    .. _`csv module's examples section`: https://docs.python.org/library/csv.html#examples
     .. _`python-unicodecsv module`: https://github.com/jdunck/python-unicodecsv
 
 .. _streaming-csv-files:
diff --git a/docs/howto/windows.txt b/docs/howto/windows.txt
index aee243f923..98da7fa31b 100644
--- a/docs/howto/windows.txt
+++ b/docs/howto/windows.txt
@@ -16,7 +16,7 @@ Install Python
 Django is a Python web framework, thus requiring Python to be installed on your
 machine.
 
-To install Python on your machine go to http://python.org/download/, and
+To install Python on your machine go to https://python.org/download/, and
 download a Windows MSI installer for Python. Once downloaded, run the MSI
 installer and follow the on-screen instructions.
 
@@ -33,14 +33,14 @@ Install Setuptools
 ==================
 
 To install Python packages on your computer, Setuptools is needed. Download the
-latest version of `Setuptools <http://pypi.python.org/pypi/setuptools>`_ for
+latest version of `Setuptools <https://pypi.python.org/pypi/setuptools>`_ for
 your Python version and follow the installation instructions given there.
 
 Install PIP
 ===========
 
 `PIP <http://www.pip-installer.org/>`_ is a package manager for Python that
-uses the `Python Package Index <http://pypi.python.org>`_ to install Python
+uses the `Python Package Index <https://pypi.python.org>`_ to install Python
 packages. PIP will later be used to install Django from PyPI. If you've
 installed Python 3.4, ``pip`` is included so you may skip this section.
 
diff --git a/docs/intro/contributing.txt b/docs/intro/contributing.txt
index ad8cb9c364..2baa9b048c 100644
--- a/docs/intro/contributing.txt
+++ b/docs/intro/contributing.txt
@@ -287,7 +287,7 @@ correctly in a couple different situations.
       your teeth into, there's always the `Python unittest documentation`__.
 
 __ http://www.diveintopython.net/unit_testing/index.html
-__ http://docs.python.org/library/unittest.html
+__ https://docs.python.org/library/unittest.html
 
 Running your new test
 ---------------------
diff --git a/docs/intro/index.txt b/docs/intro/index.txt
index 2edad7f9ff..5a0decfed8 100644
--- a/docs/intro/index.txt
+++ b/docs/intro/index.txt
@@ -32,7 +32,7 @@ place: read this material to quickly get up and running.
     Python quickly, we recommend `Dive Into Python`_. If that's not quite your
     style, there are many other `books about Python`_.
 
-    .. _python: http://python.org/
+    .. _python: https://python.org/
     .. _list of Python resources for non-programmers: https://wiki.python.org/moin/BeginnersGuide/NonProgrammers
     .. _Dive Into Python: http://www.diveintopython3.net/
     .. _books about Python: https://wiki.python.org/moin/PythonBooks
diff --git a/docs/intro/install.txt b/docs/intro/install.txt
index 4894512832..64e07f1d76 100644
--- a/docs/intro/install.txt
+++ b/docs/intro/install.txt
@@ -15,7 +15,7 @@ called SQLite_ so you won't need to set up a database just yet.
 
 .. _sqlite: http://sqlite.org/
 
-Get the latest version of Python at http://www.python.org/download/ or with
+Get the latest version of Python at https://www.python.org/download/ or with
 your operating system's package manager.
 
 .. admonition:: Django on Jython
diff --git a/docs/intro/overview.txt b/docs/intro/overview.txt
index 3586461be3..d1e9a458f5 100644
--- a/docs/intro/overview.txt
+++ b/docs/intro/overview.txt
@@ -209,7 +209,7 @@ requested URL. (If none of them matches, Django calls a special-case 404 view.)
 This is blazingly fast, because the regular expressions are compiled at load
 time.
 
-.. _regular expressions: http://docs.python.org/2/howto/regex.html
+.. _regular expressions: https://docs.python.org/howto/regex.html
 
 Once one of the regexes matches, Django imports and calls the given view, which
 is a simple Python function. Each view gets passed a request object --
diff --git a/docs/intro/reusable-apps.txt b/docs/intro/reusable-apps.txt
index 0546a0521e..3c8041e857 100644
--- a/docs/intro/reusable-apps.txt
+++ b/docs/intro/reusable-apps.txt
@@ -34,7 +34,7 @@ projects and ready to publish for others to install and use.
 
 .. admonition:: Package? App?
 
-    A Python `package <http://docs.python.org/tutorial/modules.html#packages>`_
+    A Python `package <https://docs.python.org/tutorial/modules.html#packages>`_
     provides a way of grouping related Python code for easy reuse. A package
     contains one or more files of Python code (also known as "modules").
 
diff --git a/docs/intro/tutorial01.txt b/docs/intro/tutorial01.txt
index 9288ba1f4f..b227219e6f 100644
--- a/docs/intro/tutorial01.txt
+++ b/docs/intro/tutorial01.txt
@@ -116,7 +116,7 @@ These files are:
 * :file:`mysite/wsgi.py`: An entry-point for WSGI-compatible web servers to
   serve your project. See :doc:`/howto/deployment/wsgi/index` for more details.
 
-.. _more about packages: http://docs.python.org/tutorial/modules.html#packages
+.. _more about packages: https://docs.python.org/tutorial/modules.html#packages
 
 Database setup
 --------------
@@ -396,7 +396,7 @@ Finally, note a relationship is defined, using
 to a single ``Question``. Django supports all the common database relationships:
 many-to-one, many-to-many and one-to-one.
 
-.. _`Python path`: http://docs.python.org/tutorial/modules.html#the-module-search-path
+.. _`Python path`: https://docs.python.org/tutorial/modules.html#the-module-search-path
 
 Activating models
 =================
diff --git a/docs/ref/contrib/gis/install/index.txt b/docs/ref/contrib/gis/install/index.txt
index 6e326f0455..ca629bbd78 100644
--- a/docs/ref/contrib/gis/install/index.txt
+++ b/docs/ref/contrib/gis/install/index.txt
@@ -240,9 +240,9 @@ the Python Software Foundation.  An advantage to using the installer is
 that OS X's Python will remain "pristine" for internal operating system
 use.
 
-__ http://python.org/ftp/python/2.7.5/
-__ http://python.org/ftp/python/3.2.5/
-__ http://python.org/ftp/python/3.3.2/
+__ https://python.org/ftp/python/2.7.5/
+__ https://python.org/ftp/python/3.2.5/
+__ https://python.org/ftp/python/3.3.2/
 
 .. note::
 
@@ -404,7 +404,7 @@ Next, run the installer and keep the defaults -- for example, keep
     products sometimes install a copy there.  *You should still install a
     fresh version of Python 2.7.*
 
-__ http://python.org/download/
+__ https://python.org/download/
 
 PostgreSQL
 ^^^^^^^^^^
diff --git a/docs/ref/contrib/index.txt b/docs/ref/contrib/index.txt
index 2cbc691c5b..9f7754a7c1 100644
--- a/docs/ref/contrib/index.txt
+++ b/docs/ref/contrib/index.txt
@@ -17,7 +17,7 @@ those packages have.
     ``'django.contrib.redirects'``) to your :setting:`INSTALLED_APPS` setting
     and re-run ``manage.py migrate``.
 
-.. _"batteries included" philosophy: http://docs.python.org/tutorial/stdlib.html#batteries-included
+.. _"batteries included" philosophy: https://docs.python.org/tutorial/stdlib.html#batteries-included
 
 .. toctree::
    :maxdepth: 1
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index 05bb2da9ae..68d8043afc 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -223,11 +223,9 @@ running ``migrate``::
 MySQL DB API Drivers
 --------------------
 
-The Python Database API is described in `PEP 249`_. MySQL has three prominent
+The Python Database API is described in :pep:`249`. MySQL has three prominent
 drivers that implement this API:
 
-.. _PEP 249: http://www.python.org/dev/peps/pep-0249/
-
 - `MySQLdb`_ is a native driver that has been developed and supported for over
   a decade by Andy Dustman.
 - `mysqlclient`_ is a fork of ``MySQLdb`` which notably supports Python 3 and
diff --git a/docs/ref/files/file.txt b/docs/ref/files/file.txt
index 57f8e9eab3..fd5a915426 100644
--- a/docs/ref/files/file.txt
+++ b/docs/ref/files/file.txt
@@ -60,7 +60,7 @@ The ``File`` Class
             ``'\n'``, the Windows convention ``'\r\n'``, and the old Macintosh
             convention ``'\r'``.
 
-            .. _universal newlines: http://www.python.org/dev/peps/pep-0278
+            .. _universal newlines: https://www.python.org/dev/peps/pep-0278
 
     .. method:: chunks([chunk_size=None])
 
diff --git a/docs/ref/files/uploads.txt b/docs/ref/files/uploads.txt
index 0817816197..5746985911 100644
--- a/docs/ref/files/uploads.txt
+++ b/docs/ref/files/uploads.txt
@@ -86,7 +86,7 @@ Here are some useful attributes of ``UploadedFile``:
     as ending a line: the Unix end-of-line convention ``'\n'``, the Windows
     convention ``'\r\n'``, and the old Macintosh convention ``'\r'``.
 
-    .. _universal newlines: http://www.python.org/dev/peps/pep-0278
+    .. _universal newlines: https://www.python.org/dev/peps/pep-0278
 
     .. versionchanged:: 1.8
 
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
index 21dbb5af1a..c294704641 100644
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -705,7 +705,7 @@ in Python`_).
     In previous versions instance's without primary key value were
     hashable.
 
-.. _is forbidden in Python: http://docs.python.org/reference/datamodel.html#object.__hash__
+.. _is forbidden in Python: https://docs.python.org/reference/datamodel.html#object.__hash__
 
 ``get_absolute_url``
 --------------------
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index 3edea084d6..ef5d5fe2e1 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -1001,7 +1001,7 @@ precedence and will be applied instead.
 
 See also :setting:`DATETIME_INPUT_FORMATS` and :setting:`TIME_INPUT_FORMATS`.
 
-.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
+.. _datetime: https://docs.python.org/library/datetime.html#strftime-strptime-behavior
 
 .. setting:: DATETIME_FORMAT
 
@@ -1049,7 +1049,7 @@ precedence and will be applied instead.
 
 See also :setting:`DATE_INPUT_FORMATS` and :setting:`TIME_INPUT_FORMATS`.
 
-.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
+.. _datetime: https://docs.python.org/library/datetime.html#strftime-strptime-behavior
 
 .. setting:: DEBUG
 
@@ -1812,7 +1812,7 @@ configuration process will be skipped.
 
     Previously, the default value was ``'django.utils.log.dictConfig'``.
 
-.. _dictConfig: http://docs.python.org/library/logging.config.html#configuration-dictionary-schema
+.. _dictConfig: https://docs.python.org/library/logging.config.html#configuration-dictionary-schema
 
 .. setting:: MANAGERS
 
@@ -2445,7 +2445,7 @@ precedence and will be applied instead.
 
 See also :setting:`DATE_INPUT_FORMATS` and :setting:`DATETIME_INPUT_FORMATS`.
 
-.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
+.. _datetime: https://docs.python.org/library/datetime.html#strftime-strptime-behavior
 
 .. setting:: TIME_ZONE
 
diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt
index e1ea472f7a..8e4dc05d38 100644
--- a/docs/ref/templates/builtins.txt
+++ b/docs/ref/templates/builtins.txt
@@ -2071,7 +2071,7 @@ Formats the variable according to the argument, a string formatting specifier.
 This specifier uses Python string formatting syntax, with the exception that
 the leading "%" is dropped.
 
-See http://docs.python.org/library/stdtypes.html#string-formatting-operations
+See https://docs.python.org/library/stdtypes.html#string-formatting-operations
 for documentation of Python string formatting
 
 For example::
diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt
index 56e9fb7dce..5939ff6fb1 100644
--- a/docs/ref/utils.txt
+++ b/docs/ref/utils.txt
@@ -677,7 +677,7 @@ escaping HTML.
     If ``value`` is ``"<B>Joel</B> <button>is</button> a <span>slug</span>"``
     the return value will be ``"<B>Joel</B> <button>is</button> a slug"``.
 
-.. _str.format: http://docs.python.org/library/stdtypes.html#str.format
+.. _str.format: https://docs.python.org/library/stdtypes.html#str.format
 .. _bleach: https://pypi.python.org/pypi/bleach
 
 ``django.utils.http``
@@ -739,7 +739,7 @@ escaping HTML.
     Converts a positive integer to a base 36 string. On Python 2 ``i`` must be
     smaller than `sys.maxint`_.
 
-    .. _sys.maxint: http://docs.python.org/2/library/sys.html#sys.maxint
+    .. _sys.maxint: https://docs.python.org/2/library/sys.html#sys.maxint
 
 .. function:: urlsafe_base64_encode(s)
 
diff --git a/docs/releases/1.3.txt b/docs/releases/1.3.txt
index 1a18a2d862..aecab5e332 100644
--- a/docs/releases/1.3.txt
+++ b/docs/releases/1.3.txt
@@ -143,7 +143,7 @@ wherever you would have historically used::
 If you want to continue to use the base unittest library, you can --
 you just won't get any of the nice new unittest2 features.
 
-.. _unittest2: http://pypi.python.org/pypi/unittest2
+.. _unittest2: https://pypi.python.org/pypi/unittest2
 
 Transaction context managers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -154,7 +154,7 @@ Users of Python 2.5 and above may now use transaction management functions as
     with transaction.autocommit():
         # ...
 
-.. _context managers: http://docs.python.org/glossary.html#term-context-manager
+.. _context managers: https://docs.python.org/glossary.html#term-context-manager
 
 Configurable delete-cascade
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/releases/1.4.txt b/docs/releases/1.4.txt
index 965a20a057..811b800bb0 100644
--- a/docs/releases/1.4.txt
+++ b/docs/releases/1.4.txt
@@ -1313,7 +1313,7 @@ This behavior was never documented. Since it is unpythonic and not obviously
 useful, it was removed in Django 1.4. If you relied on it, you must edit your
 settings file to list all your applications explicitly.
 
-.. _this can't be done reliably: http://docs.python.org/tutorial/modules.html#importing-from-a-package
+.. _this can't be done reliably: https://docs.python.org/tutorial/modules.html#importing-from-a-package
 
 ``HttpRequest.raw_post_data`` renamed to ``HttpRequest.body``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/releases/1.5.1.txt b/docs/releases/1.5.1.txt
index 6272f6366e..e9d7e75b23 100644
--- a/docs/releases/1.5.1.txt
+++ b/docs/releases/1.5.1.txt
@@ -13,7 +13,7 @@ quite a bit of it. If you'd like more information, the details are in
 `our ticket tracker`__ (and in `a related issue`__ in Python itself).
 
 __ https://code.djangoproject.com/ticket/19895
-__ http://bugs.python.org/issue17468
+__ https://bugs.python.org/issue17468
 
 If you've noticed memory problems under Django 1.5, upgrading to 1.5.1 should
 fix those issues.
diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt
index d261a480ba..0881f7b5da 100644
--- a/docs/releases/1.6.txt
+++ b/docs/releases/1.6.txt
@@ -442,7 +442,7 @@ If you wish to delay updates to your test suite, you can set your
 to fully restore the old test behavior. ``DjangoTestSuiteRunner`` is deprecated
 but will not be removed from Django until version 1.8.
 
-.. _recommendations in the Python documentation: http://docs.python.org/2/library/doctest.html#unittest-api
+.. _recommendations in the Python documentation: https://docs.python.org/library/doctest.html#unittest-api
 
 Removal of ``django.contrib.gis.tests.GeoDjangoTestSuiteRunner`` GeoDjango custom test runner
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/releases/1.8.txt b/docs/releases/1.8.txt
index 9c8fd3b5dc..fccf50bc70 100644
--- a/docs/releases/1.8.txt
+++ b/docs/releases/1.8.txt
@@ -855,7 +855,7 @@ Miscellaneous
   Unix end-of-line convention ``'\n'``, the Windows convention ``'\r\n'``, and
   the old Macintosh convention ``'\r'``.
 
-  .. _universal newlines: http://www.python.org/dev/peps/pep-0278
+  .. _universal newlines: https://www.python.org/dev/peps/pep-0278
 
 * The Memcached cache backends ``MemcachedCache`` and ``PyLibMCCache`` will
   delete a key if ``set()`` fails. This is necessary to ensure the ``cache_db``
diff --git a/docs/topics/class-based-views/mixins.txt b/docs/topics/class-based-views/mixins.txt
index 172c4ad3ca..4bd9251e1d 100644
--- a/docs/topics/class-based-views/mixins.txt
+++ b/docs/topics/class-based-views/mixins.txt
@@ -206,7 +206,7 @@ the box.
     course, you can always dip into Django's implementation of the generic
     class based views for inspiration on how to tackle problems.)
 
-.. _method resolution order: http://www.python.org/download/releases/2.3/mro/
+.. _method resolution order: https://www.python.org/download/releases/2.3/mro/
 
 
 Using SingleObjectMixin with View
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index a38d706284..7aff43e9c7 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -405,7 +405,7 @@ translates (roughly) into the following SQL:
    arguments whose names and values are evaluated at runtime. For more
    information, see `Keyword Arguments`_ in the official Python tutorial.
 
-   .. _`Keyword Arguments`: http://docs.python.org/tutorial/controlflow.html#keyword-arguments
+   .. _`Keyword Arguments`: https://docs.python.org/tutorial/controlflow.html#keyword-arguments
 
 The field specified in a lookup has to be the name of a model field. There's
 one exception though, in case of a :class:`~django.db.models.ForeignKey` you
diff --git a/docs/topics/db/sql.txt b/docs/topics/db/sql.txt
index b969342e82..a759ff50a7 100644
--- a/docs/topics/db/sql.txt
+++ b/docs/topics/db/sql.txt
@@ -322,7 +322,7 @@ an unexpected behavior in magic method lookups (`Python ticket #9220`_).
 Django 1.7 explicitly added support to allow using a cursor as context
 manager.
 
-.. _`Python ticket #9220`: http://bugs.python.org/issue9220
+.. _`Python ticket #9220`: https://bugs.python.org/issue9220
 
 Using a cursor as a context manager::
 
diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt
index fb19666c43..5fb66ca684 100644
--- a/docs/topics/db/transactions.txt
+++ b/docs/topics/db/transactions.txt
@@ -105,7 +105,7 @@ Django provides a single API to control database transactions.
     completes successfully, its effects can still be rolled back if an
     exception is raised in the outer block at a later point.
 
-    ``atomic`` is usable both as a `decorator`_::
+    ``atomic`` is usable both as a :py:term:`decorator`::
 
         from django.db import transaction
 
@@ -114,7 +114,7 @@ Django provides a single API to control database transactions.
             # This code executes inside a transaction.
             do_stuff()
 
-    and as a `context manager`_::
+    and as a :py:term:`context manager`::
 
         from django.db import transaction
 
@@ -126,9 +126,6 @@ Django provides a single API to control database transactions.
                 # This code executes inside a transaction.
                 do_more_stuff()
 
-    .. _decorator: http://docs.python.org/glossary.html#term-decorator
-    .. _context manager: http://docs.python.org/glossary.html#term-context-manager
-
     Wrapping ``atomic`` in a try/except block allows for natural handling of
     integrity errors::
 
diff --git a/docs/topics/files.txt b/docs/topics/files.txt
index af7568e933..88f2bc9049 100644
--- a/docs/topics/files.txt
+++ b/docs/topics/files.txt
@@ -63,7 +63,7 @@ Internally, Django uses a :class:`django.core.files.File` instance any time it
 needs to represent a file. This object is a thin wrapper around Python's
 `built-in file object`_ with some Django-specific additions.
 
-.. _built-in file object: http://docs.python.org/library/stdtypes.html#bltin-file-objects
+.. _built-in file object: https://docs.python.org/library/stdtypes.html#bltin-file-objects
 
 Most of the time you'll simply use a ``File`` that Django's given you (i.e. a
 file attached to a model as above, or perhaps an uploaded file).
diff --git a/docs/topics/install.txt b/docs/topics/install.txt
index 925691e961..65e55ddbe6 100644
--- a/docs/topics/install.txt
+++ b/docs/topics/install.txt
@@ -10,7 +10,7 @@ Install Python
 Being a Python Web framework, Django requires Python. It works with Python 2.7,
 3.2 or 3.3.
 
-Get the latest version of Python at http://www.python.org/download/ or with
+Get the latest version of Python at https://www.python.org/download/ or with
 your operating system's package manager.
 
 .. admonition:: Django on Jython
@@ -297,7 +297,7 @@ command ``git pull`` from within the ``django-trunk`` directory. When you do
 this, Git will automatically download any changes.
 
 .. _Git: http://git-scm.com/
-.. _`modify Python's search path`: http://docs.python.org/install/index.html#modifying-python-s-search-path
+.. _`modify Python's search path`: https://docs.python.org/install/index.html#modifying-python-s-search-path
 .. _installing-the-development-version-without-pip:
 
 Installing the development version without pip
diff --git a/docs/topics/logging.txt b/docs/topics/logging.txt
index f44383598f..a1ed176da8 100644
--- a/docs/topics/logging.txt
+++ b/docs/topics/logging.txt
@@ -227,7 +227,7 @@ Logging is configured as part of the general Django ``setup()`` function.
 Therefore, you can be certain that loggers are always ready for use in your
 project code.
 
-.. _dictConfig format: http://docs.python.org/library/logging.config.html#configuration-dictionary-schema
+.. _dictConfig format: https://docs.python.org/library/logging.config.html#configuration-dictionary-schema
 
 Examples
 --------
@@ -375,7 +375,7 @@ This logging configuration does the following things:
     printed to the console; ``ERROR`` and ``CRITICAL``
     messages will also be output via email.
 
-.. _formatter documentation: http://docs.python.org/library/logging.html#formatter-objects
+.. _formatter documentation: https://docs.python.org/library/logging.html#formatter-objects
 
 Custom logging configuration
 ----------------------------
diff --git a/docs/topics/python3.txt b/docs/topics/python3.txt
index 8e4c3f1e63..2f1321a919 100644
--- a/docs/topics/python3.txt
+++ b/docs/topics/python3.txt
@@ -42,7 +42,7 @@ developers are used to dealing with such constraints.
 Porting tools provided by Django are inspired by this philosophy, and it's
 reflected throughout this guide.
 
-.. _Python's official porting guide: http://docs.python.org/3/howto/pyporting.html
+.. _Python's official porting guide: https://docs.python.org/3/howto/pyporting.html
 .. _Pragmatic Unicode: http://nedbatchelder.com/text/unipain.html
 
 Porting tips
@@ -401,6 +401,6 @@ extras.
     ``testcase.assertRegex`` on Python 3. ``assertRegexpMatches`` still
     exists in current Python 3 versions, but issues a warning.
 
-.. _unicode: http://docs.python.org/2/library/functions.html#unicode
+.. _unicode: https://docs.python.org/2/library/functions.html#unicode
 .. _ __unicode__(): https://docs.python.org/2/reference/datamodel.html#object.__unicode__
-.. _basestring: http://docs.python.org/2/library/functions.html#basestring
+.. _basestring: https://docs.python.org/2/library/functions.html#basestring
diff --git a/docs/topics/serialization.txt b/docs/topics/serialization.txt
index 514b472b01..aa56bc25d9 100644
--- a/docs/topics/serialization.txt
+++ b/docs/topics/serialization.txt
@@ -262,7 +262,7 @@ In particular, :ref:`lazy translation objects <lazy-translations>` need a
 Also note that GeoDjango provides a :doc:`customized GeoJSON serializer
 </ref/contrib/gis/serializers>`.
 
-.. _special encoder: http://docs.python.org/library/json.html#encoders-and-decoders
+.. _special encoder: https://docs.python.org/library/json.html#encoders-and-decoders
 .. _ecma-262: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
 
 YAML