Refs #32720 -- Updated various links in docs to avoid redirects and use HTTPS.

This commit is contained in:
Nick Pope 2021-04-27 12:09:00 +01:00 committed by Mariusz Felisiak
parent 7c4ee487c7
commit c156e36955
55 changed files with 100 additions and 97 deletions

View File

@ -18,7 +18,7 @@ from os.path import abspath, dirname, join
# #
# Python's default allowed recursion depth is 1000 but this isn't enough for # Python's default allowed recursion depth is 1000 but this isn't enough for
# building docs/ref/settings.txt sometimes. # building docs/ref/settings.txt sometimes.
# https://groups.google.com/d/topic/sphinx-dev/MtRf64eGtv4/discussion # https://groups.google.com/g/sphinx-dev/c/MtRf64eGtv4/discussion
sys.setrecursionlimit(2000) sys.setrecursionlimit(2000)
# Make sure we get the version of this copy of Django # Make sure we get the version of this copy of Django

View File

@ -172,7 +172,7 @@ site is one module of Django the framework. Furthermore, although Django has
special conveniences for building "CMS-y" apps, that doesn't mean it's not just special conveniences for building "CMS-y" apps, that doesn't mean it's not just
as appropriate for building "non-CMS-y" apps (whatever that means!). as appropriate for building "non-CMS-y" apps (whatever that means!).
.. _Drupal: https://drupal.org/ .. _Drupal: https://www.drupal.org/
How can I download the Django documentation to read it offline? How can I download the Django documentation to read it offline?
=============================================================== ===============================================================
@ -197,7 +197,7 @@ software are still a matter of some debate.
For example, `APA style`_, would dictate something like:: For example, `APA style`_, would dictate something like::
Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://djangoproject.com. Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://www.djangoproject.com/.
However, the only true guide is what your publisher will accept, so get a copy However, the only true guide is what your publisher will accept, so get a copy
of those guidelines and fill in the gaps as best you can. of those guidelines and fill in the gaps as best you can.
@ -207,11 +207,11 @@ Foundation".
If you need a publishing location, use "Lawrence, Kansas". If you need a publishing location, use "Lawrence, Kansas".
If you need a web address, use https://djangoproject.com. If you need a web address, use https://www.djangoproject.com/.
If you need a name, just use "Django", without any tagline. If you need a name, just use "Django", without any tagline.
If you need a publication date, use the year of release of the version you're If you need a publication date, use the year of release of the version you're
referencing (e.g., 2013 for v1.5) referencing (e.g., 2013 for v1.5)
.. _APA style: https://www.apastyle.org .. _APA style: https://apastyle.apa.org/

View File

@ -12,7 +12,7 @@ Windows Authentication or Apache and `mod_authnz_ldap`_, `CAS`_, `Cosign`_,
.. _mod_authnz_ldap: https://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html .. _mod_authnz_ldap: https://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html
.. _CAS: https://www.apereo.org/projects/cas .. _CAS: https://www.apereo.org/projects/cas
.. _Cosign: http://weblogin.org .. _Cosign: http://weblogin.org
.. _WebAuth: https://www.stanford.edu/services/webauth/ .. _WebAuth: https://uit.stanford.edu/service/authentication
.. _mod_auth_sspi: https://sourceforge.net/projects/mod-auth-sspi .. _mod_auth_sspi: https://sourceforge.net/projects/mod-auth-sspi
When the Web server takes care of authentication it typically sets the When the Web server takes care of authentication it typically sets the

View File

@ -170,4 +170,4 @@ creating an object that specifies the following attributes:
to load the template, e.g. ``django.template.loaders.filesystem.Loader``. to load the template, e.g. ``django.template.loaders.filesystem.Loader``.
.. _DEP 182: https://github.com/django/deps/blob/main/final/0182-multiple-template-engines.rst .. _DEP 182: https://github.com/django/deps/blob/main/final/0182-multiple-template-engines.rst
.. _Django Debug Toolbar: https://github.com/jazzband/django-debug-toolbar .. _Django Debug Toolbar: https://github.com/jazzband/django-debug-toolbar/

View File

@ -27,7 +27,7 @@ Basic configuration
Once you've got mod_wsgi installed and activated, edit your Apache server's Once you've got mod_wsgi installed and activated, edit your Apache server's
`httpd.conf`_ file and add the following. `httpd.conf`_ file and add the following.
.. _httpd.conf: https://wiki.apache.org/httpd/DistrosDefaultLayout .. _httpd.conf: https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout
.. code-block:: apache .. code-block:: apache

View File

@ -15,7 +15,7 @@ printer-friendly NCAA tournament brackets, as PDF files, for people
participating in a March Madness contest. participating in a March Madness contest.
.. _ReportLab: https://www.reportlab.com/opensource/ .. _ReportLab: https://www.reportlab.com/opensource/
.. _kusports.com: http://www.kusports.com/ .. _kusports.com: http://www2.kusports.com/
Install ReportLab Install ReportLab
================= =================

View File

@ -22,7 +22,7 @@ Install Python
Django is a Python web framework, thus requiring Python to be installed on your Django is a Python web framework, thus requiring Python to be installed on your
machine. At the time of writing, Python 3.8 is the latest version. machine. At the time of writing, Python 3.8 is the latest version.
To install Python on your machine go to https://python.org/downloads/. The To install Python on your machine go to https://www.python.org/downloads/. The
website should offer you a download button for the latest Python version. website should offer you a download button for the latest Python version.
Download the executable installer and run it. Check the boxes next to "Install Download the executable installer and run it. Check the boxes next to "Install
launcher for all users (recommended)" then click "Install Now". launcher for all users (recommended)" then click "Install Now".

View File

@ -138,7 +138,7 @@ Django's Git repository:
Credit the contributors in the commit message: "Thanks A for the report and B Credit the contributors in the commit message: "Thanks A for the report and B
for review." Use git's `Co-Authored-By`_ as appropriate. for review." Use git's `Co-Authored-By`_ as appropriate.
.. _Co-Authored-By: https://help.github.com/articles/creating-a-commit-with-multiple-authors/ .. _Co-Authored-By: https://docs.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors
* For commits to a branch, prefix the commit message with the branch name. * For commits to a branch, prefix the commit message with the branch name.
For example: "[1.4.x] Fixed #xxxxx -- Added support for mind reading." For example: "[1.4.x] Fixed #xxxxx -- Added support for mind reading."

View File

@ -142,7 +142,7 @@ Running tests using ``django-docker-box``
supported databases and python versions. See the `django-docker-box`_ project supported databases and python versions. See the `django-docker-box`_ project
page for installation and usage instructions. page for installation and usage instructions.
.. _django-docker-box: https://github.com/django/django-docker-box .. _django-docker-box: https://github.com/django/django-docker-box/
.. _running-unit-tests-settings: .. _running-unit-tests-settings:
@ -320,13 +320,13 @@ associated tests will be skipped.
To run some of the autoreload tests, you'll need to install the Watchman_ To run some of the autoreload tests, you'll need to install the Watchman_
service. service.
.. _argon2-cffi: https://pypi.org/project/argon2_cffi/ .. _argon2-cffi: https://pypi.org/project/argon2-cffi/
.. _asgiref: https://pypi.org/project/asgiref/ .. _asgiref: https://pypi.org/project/asgiref/
.. _bcrypt: https://pypi.org/project/bcrypt/ .. _bcrypt: https://pypi.org/project/bcrypt/
.. _colorama: https://pypi.org/project/colorama/ .. _colorama: https://pypi.org/project/colorama/
.. _docutils: https://pypi.org/project/docutils/ .. _docutils: https://pypi.org/project/docutils/
.. _geoip2: https://pypi.org/project/geoip2/ .. _geoip2: https://pypi.org/project/geoip2/
.. _jinja2: https://pypi.org/project/jinja2/ .. _jinja2: https://pypi.org/project/Jinja2/
.. _numpy: https://pypi.org/project/numpy/ .. _numpy: https://pypi.org/project/numpy/
.. _Pillow: https://pypi.org/project/Pillow/ .. _Pillow: https://pypi.org/project/Pillow/
.. _PyYAML: https://pyyaml.org/wiki/PyYAML .. _PyYAML: https://pyyaml.org/wiki/PyYAML

View File

@ -61,7 +61,7 @@ To get started contributing, you'll want to read the :ref:`reStructuredText
reference <sphinx:rst-index>`. reference <sphinx:rst-index>`.
Your locally-built documentation will be themed differently than the Your locally-built documentation will be themed differently than the
documentation at `docs.djangoproject.com <https://docs.djangoproject.com>`_. documentation at `docs.djangoproject.com <https://docs.djangoproject.com/>`_.
This is OK! If your changes look good on your local machine, they'll look good This is OK! If your changes look good on your local machine, they'll look good
on the website. on the website.

View File

@ -50,7 +50,7 @@ website can be found at `github.com/django/djangoproject.com
<https://github.com/django/djangoproject.com>`_. <https://github.com/django/djangoproject.com>`_.
.. _Git: https://git-scm.com/ .. _Git: https://git-scm.com/
.. _documentation: https://git-scm.com/documentation .. _documentation: https://git-scm.com/doc
.. _branches: https://github.com/django/django/branches .. _branches: https://github.com/django/django/branches
.. _tags: https://github.com/django/django/tags .. _tags: https://github.com/django/django/tags

View File

@ -337,7 +337,7 @@ Now you're ready to actually put the release out there. To do this:
that they install correctly, but it'll catch silly mistakes. that they install correctly, but it'll catch silly mistakes.
#. Ask a few people on IRC to verify the checksums by visiting the checksums #. Ask a few people on IRC to verify the checksums by visiting the checksums
file (e.g. https://www.djangoproject.com/m/pgp/Django-1.5b1.checksum.txt) file (e.g. https://media.djangoproject.com/pgp/Django-1.5b1.checksum.txt)
and following the instructions in it. For bonus points, they can also unpack and following the instructions in it. For bonus points, they can also unpack
the downloaded release tarball and verify that its contents appear to be the downloaded release tarball and verify that its contents appear to be
correct (proper version numbers, no stray ``.pyc`` or other undesirable correct (proper version numbers, no stray ``.pyc`` or other undesirable
@ -451,8 +451,8 @@ need to be done by the releaser.
<https://readthedocs.org/projects/django/>`_. Since the automatically <https://readthedocs.org/projects/django/>`_. Since the automatically
generated version names ("stable-A.B.x") differ from the version names generated version names ("stable-A.B.x") differ from the version names
used in Read the Docs ("A.B.x"), `create a ticket used in Read the Docs ("A.B.x"), `create a ticket
<https://github.com/rtfd/readthedocs.org/issues/5537>`_ requesting the new <https://github.com/readthedocs/readthedocs.org/issues/5537>`_ requesting
version. the new version.
#. `Request the new classifier on PyPI #. `Request the new classifier on PyPI
<https://github.com/pypa/trove-classifiers/issues/29>`_. For example <https://github.com/pypa/trove-classifiers/issues/29>`_. For example

View File

@ -31,7 +31,7 @@ installation, usage, or debugging of Django.
* `django-users subscription email address`_ * `django-users subscription email address`_
* `django-users posting email`_ * `django-users posting email`_
.. _django-users mailing archive: https://groups.google.com/d/forum/django-users .. _django-users mailing archive: https://groups.google.com/g/django-users
.. _django-users subscription email address: mailto:django-users+subscribe@googlegroups.com .. _django-users subscription email address: mailto:django-users+subscribe@googlegroups.com
.. _django-users posting email: mailto:django-users@googlegroups.com .. _django-users posting email: mailto:django-users@googlegroups.com
@ -48,7 +48,7 @@ the Django Project.
* `django-core-mentorship subscription email address`_ * `django-core-mentorship subscription email address`_
* `django-core-mentorship posting email`_ * `django-core-mentorship posting email`_
.. _django-core-mentorship mailing archive: https://groups.google.com/d/forum/django-core-mentorship .. _django-core-mentorship mailing archive: https://groups.google.com/g/django-core-mentorship
.. _django-core-mentorship subscription email address: mailto:django-core-mentorship+subscribe@googlegroups.com .. _django-core-mentorship subscription email address: mailto:django-core-mentorship+subscribe@googlegroups.com
.. _django-core-mentorship posting email: mailto:django-core-mentorship@googlegroups.com .. _django-core-mentorship posting email: mailto:django-core-mentorship@googlegroups.com
@ -73,7 +73,7 @@ answered there.
* `django-developers subscription email address`_ * `django-developers subscription email address`_
* `django-developers posting email`_ * `django-developers posting email`_
.. _django-developers mailing archive: https://groups.google.com/d/forum/django-developers .. _django-developers mailing archive: https://groups.google.com/g/django-developers
.. _django-developers subscription email address: mailto:django-developers+subscribe@googlegroups.com .. _django-developers subscription email address: mailto:django-developers+subscribe@googlegroups.com
.. _django-developers posting email: mailto:django-developers@googlegroups.com .. _django-developers posting email: mailto:django-developers@googlegroups.com
@ -89,7 +89,7 @@ Django's components.
* `django-i18n subscription email address`_ * `django-i18n subscription email address`_
* `django-i18n posting email`_ * `django-i18n posting email`_
.. _django-i18n mailing archive: https://groups.google.com/d/forum/django-i18n .. _django-i18n mailing archive: https://groups.google.com/g/django-i18n
.. _django-i18n subscription email address: mailto:django-i18n+subscribe@googlegroups.com .. _django-i18n subscription email address: mailto:django-i18n+subscribe@googlegroups.com
.. _django-i18n posting email: mailto:django-i18n@googlegroups.com .. _django-i18n posting email: mailto:django-i18n@googlegroups.com
@ -105,7 +105,7 @@ A (very) low-traffic list for announcing :ref:`upcoming security releases
* `django-announce subscription email address`_ * `django-announce subscription email address`_
* `django-announce posting email`_ * `django-announce posting email`_
.. _django-announce mailing archive: https://groups.google.com/d/forum/django-announce .. _django-announce mailing archive: https://groups.google.com/g/django-announce
.. _django-announce subscription email address: mailto:django-announce+subscribe@googlegroups.com .. _django-announce subscription email address: mailto:django-announce+subscribe@googlegroups.com
.. _django-announce posting email: mailto:django-announce@googlegroups.com .. _django-announce posting email: mailto:django-announce@googlegroups.com
@ -121,6 +121,6 @@ by developers and interested community members.
* `django-updates subscription email address`_ * `django-updates subscription email address`_
* `django-updates posting email`_ * `django-updates posting email`_
.. _django-updates mailing archive: https://groups.google.com/d/forum/django-updates .. _django-updates mailing archive: https://groups.google.com/g/django-updates
.. _django-updates subscription email address: mailto:django-updates+subscribe@googlegroups.com .. _django-updates subscription email address: mailto:django-updates+subscribe@googlegroups.com
.. _django-updates posting email: mailto:django-updates@googlegroups.com .. _django-updates posting email: mailto:django-updates@googlegroups.com

View File

@ -343,7 +343,7 @@ This test checks that the ``make_toast()`` returns ``'toast'``.
* After reading those, if you want something a little meatier to sink * After reading those, if you want something a little meatier to sink
your teeth into, there's always the Python :mod:`unittest` documentation. your teeth into, there's always the Python :mod:`unittest` documentation.
__ https://www.diveinto.org/python3/unit-testing.html __ https://diveinto.org/python3/unit-testing.html
Running your new test Running your new test
--------------------- ---------------------

View File

@ -34,7 +34,7 @@ place: read this material to quickly get up and running.
Python quickly, we recommend `Dive Into Python`_. If that's not quite your Python quickly, we recommend `Dive Into Python`_. If that's not quite your
style, there are many other `books about Python`_. style, there are many other `books about Python`_.
.. _python: https://python.org/ .. _python: https://www.python.org/
.. _list of Python resources for non-programmers: https://wiki.python.org/moin/BeginnersGuide/NonProgrammers .. _list of Python resources for non-programmers: https://wiki.python.org/moin/BeginnersGuide/NonProgrammers
.. _Dive Into Python: https://diveinto.org/python3/table-of-contents.html .. _Dive Into Python: https://diveinto.org/python3/table-of-contents.html
.. _books about Python: https://wiki.python.org/moin/PythonBooks .. _books about Python: https://wiki.python.org/moin/PythonBooks

View File

@ -14,7 +14,7 @@ Being a Python Web framework, Django requires Python. See
:ref:`faq-python-version-support` for details. Python includes a lightweight :ref:`faq-python-version-support` for details. Python includes a lightweight
database called SQLite_ so you won't need to set up a database just yet. database called SQLite_ so you won't need to set up a database just yet.
.. _sqlite: https://sqlite.org/ .. _sqlite: https://www.sqlite.org/
Get the latest version of Python at https://www.python.org/downloads/ or with Get the latest version of Python at https://www.python.org/downloads/ or with
your operating system's package manager. your operating system's package manager.

View File

@ -212,7 +212,7 @@ Put the following code in that template:
To make the tutorial shorter, all template examples use incomplete HTML. In To make the tutorial shorter, all template examples use incomplete HTML. In
your own projects you should use `complete HTML documents`__. your own projects you should use `complete HTML documents`__.
__ https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started#Anatomy_of_an_HTML_document __ https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started#anatomy_of_an_html_document
Now let's update our ``index`` view in ``polls/views.py`` to use the template: Now let's update our ``index`` view in ``polls/views.py`` to use the template:

View File

@ -689,7 +689,7 @@ Coverage will help to identify dead code. See
:doc:`Testing in Django </topics/testing/index>` has comprehensive :doc:`Testing in Django </topics/testing/index>` has comprehensive
information about testing. information about testing.
.. _Selenium: http://seleniumhq.org/ .. _Selenium: https://www.selenium.dev/
.. _continuous integration: https://en.wikipedia.org/wiki/Continuous_integration .. _continuous integration: https://en.wikipedia.org/wiki/Continuous_integration
What's next? What's next?

View File

@ -225,7 +225,7 @@ MRO is an acronym for Method Resolution Order.
urlpatterns = [ urlpatterns = [
path('counter/<int:pk>/', ArticleCounterRedirectView.as_view(), name='article-counter'), path('counter/<int:pk>/', ArticleCounterRedirectView.as_view(), name='article-counter'),
path('details/<int:pk>/', ArticleDetailView.as_view(), name='article-detail'), path('details/<int:pk>/', ArticleDetailView.as_view(), name='article-detail'),
path('go-to-django/', RedirectView.as_view(url='https://djangoproject.com'), name='go-to-django'), path('go-to-django/', RedirectView.as_view(url='https://www.djangoproject.com/'), name='go-to-django'),
] ]
**Attributes** **Attributes**

View File

@ -132,5 +132,5 @@ See also
A `complete list`_ of browsers supporting ``X-Frame-Options``. A `complete list`_ of browsers supporting ``X-Frame-Options``.
.. _complete list: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options#Browser_compatibility .. _complete list: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options#browser_compatibility
.. _other clickjacking prevention techniques: https://en.wikipedia.org/wiki/Clickjacking#Prevention .. _other clickjacking prevention techniques: https://en.wikipedia.org/wiki/Clickjacking#Prevention

View File

@ -21,7 +21,7 @@ to raster (image) data.
Although the module is named ``gdal``, GeoDjango only supports some of the Although the module is named ``gdal``, GeoDjango only supports some of the
capabilities of OGR and GDAL's raster features at this time. capabilities of OGR and GDAL's raster features at this time.
__ https://www.gdal.org/ __ https://gdal.org/
__ https://gdal.org/user/vector_data_model.html __ https://gdal.org/user/vector_data_model.html
Overview Overview
@ -1644,7 +1644,7 @@ Examples of using the different keys when creating rasters can be found in the
documentation of the corresponding attributes and methods of the documentation of the corresponding attributes and methods of the
:class:`GDALRaster` and :class:`GDALBand` classes. :class:`GDALRaster` and :class:`GDALBand` classes.
__ https://geojson.org __ https://geojson.org/
The ``ds_input`` dictionary The ``ds_input`` dictionary
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -20,7 +20,7 @@ that ``geoip2`` can leverage the C library's faster speed.
__ https://geoip2.readthedocs.io/ __ https://geoip2.readthedocs.io/
__ https://pypi.org/project/geoip2/ __ https://pypi.org/project/geoip2/
__ https://dev.maxmind.com/geoip/geoip2/geolite2/ __ https://dev.maxmind.com/geoip/geoip2/geolite2/
__ https://github.com/maxmind/libmaxminddb __ https://github.com/maxmind/libmaxminddb/
Example Example
======= =======

View File

@ -19,7 +19,7 @@ maintained by `Refractions Research`__ of Victoria, Canada.
__ https://trac.osgeo.org/geos/ __ https://trac.osgeo.org/geos/
__ https://sourceforge.net/projects/jts-topo-suite/ __ https://sourceforge.net/projects/jts-topo-suite/
__ https://www.opengeospatial.org/standards/sfs __ https://www.ogc.org/standards/sfs
__ http://www.refractions.net/ __ http://www.refractions.net/
Features Features

View File

@ -117,7 +117,7 @@ community! You can:
sure to provide a complete description of the problem, versions used, sure to provide a complete description of the problem, versions used,
and specify the component as "GIS". and specify the component as "GIS".
__ https://groups.google.com/d/forum/geodjango __ https://groups.google.com/g/geodjango
__ https://code.djangoproject.com/newticket __ https://code.djangoproject.com/newticket
.. _libsettings: .. _libsettings:
@ -333,8 +333,8 @@ of the `Fink`__ package system. `Different packages are available`__ (starting
with ``django-gis``), depending on which version of Python you want to use. with ``django-gis``), depending on which version of Python you want to use.
__ https://schwehr.blogspot.com/ __ https://schwehr.blogspot.com/
__ http://www.finkproject.org/ __ https://www.finkproject.org/
__ http://pdb.finkproject.org/pdb/browse.php?summary=django-gis __ https://pdb.finkproject.org/pdb/browse.php?summary=django-gis
.. _macports: .. _macports:

View File

@ -18,7 +18,7 @@ For Windows, you may find binaries on the `Gaia-SINS`__ home page.
In any case, you should always be able to :ref:`install from source In any case, you should always be able to :ref:`install from source
<spatialite_source>`. <spatialite_source>`.
__ https://www.gaia-gis.it/fossil/libspatialite __ https://www.gaia-gis.it/fossil/libspatialite/index
__ https://www.gaia-gis.it/gaia-sins/ __ https://www.gaia-gis.it/gaia-sins/
.. _spatialite_source: .. _spatialite_source:

View File

@ -165,7 +165,7 @@ Additional Resources:
__ https://en.wikipedia.org/wiki/Geodesy __ https://en.wikipedia.org/wiki/Geodesy
__ https://en.wikipedia.org/wiki/Great_circle __ https://en.wikipedia.org/wiki/Great_circle
__ https://www.spatialreference.org/ref/epsg/2796/ __ https://spatialreference.org/ref/epsg/2796/
__ https://spatialreference.org/ __ https://spatialreference.org/
__ https://web.archive.org/web/20080302095452/http://welcome.warnercnr.colostate.edu/class_info/nr502/lg3/datums_coordinates/spcs.html __ https://web.archive.org/web/20080302095452/http://welcome.warnercnr.colostate.edu/class_info/nr502/lg3/datums_coordinates/spcs.html
@ -263,9 +263,9 @@ determining `when to use geography data type over geometry data type
<https://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_GeographyVSGeometry>`_. <https://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_GeographyVSGeometry>`_.
.. rubric:: Footnotes .. rubric:: Footnotes
.. [#fnogc] OpenGIS Consortium, Inc., `Simple Feature Specification For SQL <https://www.opengeospatial.org/standards/sfs>`_. .. [#fnogc] OpenGIS Consortium, Inc., `Simple Feature Specification For SQL <https://www.ogc.org/standards/sfs>`_.
.. [#fnogcsrid] *See id.* at Ch. 2.3.8, p. 39 (Geometry Values and Spatial Reference Systems). .. [#fnogcsrid] *See id.* at Ch. 2.3.8, p. 39 (Geometry Values and Spatial Reference Systems).
.. [#fnsrid] Typically, SRID integer corresponds to an EPSG (`European Petroleum Survey Group <http://www.epsg.org>`_) identifier. However, it may also be associated with custom projections defined in spatial database's spatial reference systems table. .. [#fnsrid] Typically, SRID integer corresponds to an EPSG (`European Petroleum Survey Group <https://epsg.org/>`_) identifier. However, it may also be associated with custom projections defined in spatial database's spatial reference systems table.
.. [#fnthematic] Terry A. Slocum, Robert B. McMaster, Fritz C. Kessler, & Hugh H. Howard, *Thematic Cartography and Geographic Visualization* (Prentice Hall, 2nd edition), at Ch. 7.1.3. .. [#fnthematic] Terry A. Slocum, Robert B. McMaster, Fritz C. Kessler, & Hugh H. Howard, *Thematic Cartography and Geographic Visualization* (Prentice Hall, 2nd edition), at Ch. 7.1.3.
.. [#fndist] This limitation does not apply to PostGIS. .. [#fndist] This limitation does not apply to PostGIS.
.. [#fngeography] Please refer to the `PostGIS Geography Type <https://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_Geography>`_ documentation for more details. .. [#fngeography] Please refer to the `PostGIS Geography Type <https://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_Geography>`_ documentation for more details.

View File

@ -19,4 +19,4 @@ Reference
-------------- --------------
.. rubric:: Footnotes .. rubric:: Footnotes
.. [#] https://www.opengeospatial.org/standards/kml .. [#] https://www.ogc.org/standards/kml

View File

@ -36,7 +36,7 @@ basic apps`_ project. [#]_
Proceed through the tutorial sections sequentially for step-by-step Proceed through the tutorial sections sequentially for step-by-step
instructions. instructions.
.. _OGC: https://www.opengeospatial.org/ .. _OGC: https://www.ogc.org/
.. _world borders: https://thematicmapping.org/downloads/world_borders.php .. _world borders: https://thematicmapping.org/downloads/world_borders.php
.. _GeoDjango basic apps: https://code.google.com/archive/p/geodjango-basic-apps .. _GeoDjango basic apps: https://code.google.com/archive/p/geodjango-basic-apps
@ -769,4 +769,4 @@ in your ``admin.py`` file::
.. [#] This point is the `University of Houston Law Center .. [#] This point is the `University of Houston Law Center
<https://www.law.uh.edu/>`_. <https://www.law.uh.edu/>`_.
.. [#] Open Geospatial Consortium, Inc., `OpenGIS Simple Feature Specification .. [#] Open Geospatial Consortium, Inc., `OpenGIS Simple Feature Specification
For SQL <https://www.opengeospatial.org/standards/sfs>`_. For SQL <https://www.ogc.org/standards/sfs>`_.

View File

@ -273,7 +273,7 @@ Note:
links pointing to other language versions using the `hreflang links pointing to other language versions using the `hreflang
attribute`_. The default is ``False``. attribute`_. The default is ``False``.
.. _hreflang attribute: https://support.google.com/webmasters/answer/189077 .. _hreflang attribute: https://developers.google.com/search/docs/advanced/crawling/localized-versions
.. attribute:: Sitemap.x_default .. attribute:: Sitemap.x_default
@ -516,7 +516,7 @@ generate a Google News compatible sitemap:
{% endspaceless %} {% endspaceless %}
</urlset> </urlset>
.. _`Google news sitemaps`: https://support.google.com/news/publisher/answer/74288?hl=en .. _`Google news sitemaps`: https://support.google.com/news/publisher-center/answer/9606710
Pinging Google Pinging Google
============== ==============
@ -547,9 +547,9 @@ that: :func:`django.contrib.sitemaps.ping_google()`.
.. admonition:: Register with Google first! .. admonition:: Register with Google first!
The :func:`ping_google` command only works if you have registered your The :func:`ping_google` command only works if you have registered your
site with `Google Webmaster Tools`_. site with `Google Search Console`_.
.. _`Google Webmaster Tools`: https://www.google.com/webmasters/tools/ .. _`Google Search Console`: https://search.google.com/search-console/welcome
One useful way to call :func:`ping_google` is from a model's ``save()`` One useful way to call :func:`ping_google` is from a model's ``save()``
method:: method::

View File

@ -91,7 +91,7 @@ This accomplishes several things quite nicely:
raise Http404("Article does not exist on this site") raise Http404("Article does not exist on this site")
# ... # ...
.. _ljworld.com: http://www.ljworld.com/ .. _ljworld.com: https://www2.ljworld.com/
.. _lawrence.com: http://www.lawrence.com/ .. _lawrence.com: http://www.lawrence.com/
Associating content with a single site Associating content with a single site

View File

@ -273,7 +273,7 @@ Another option is to wrap each ``QuerySet`` using server-side cursors in an
for the duration of the transaction. This way, the server-side cursor will only for the duration of the transaction. This way, the server-side cursor will only
live for the duration of the transaction. live for the duration of the transaction.
.. _PgBouncer: https://pgbouncer.github.io/ .. _PgBouncer: https://www.pgbouncer.org/
.. _manually-specified-autoincrement-pk: .. _manually-specified-autoincrement-pk:
@ -387,7 +387,7 @@ MySQL has a couple drivers that implement the Python Database API described in
library. library.
.. _mysqlclient: https://pypi.org/project/mysqlclient/ .. _mysqlclient: https://pypi.org/project/mysqlclient/
.. _MySQL Connector/Python: https://dev.mysql.com/downloads/connector/python .. _MySQL Connector/Python: https://dev.mysql.com/downloads/connector/python/
These drivers are thread-safe and provide connection pooling. These drivers are thread-safe and provide connection pooling.
@ -828,7 +828,7 @@ a row is added, changed, or deleted within the loop, then that row may or may
not appear, or may appear twice, in subsequent results fetched from the not appear, or may appear twice, in subsequent results fetched from the
iterator. Your code must handle this. iterator. Your code must handle this.
.. _`Isolation in SQLite`: https://sqlite.org/isolation.html .. _`Isolation in SQLite`: https://www.sqlite.org/isolation.html
.. _sqlite-json1: .. _sqlite-json1:

View File

@ -1787,7 +1787,7 @@ Example usage::
django-admin migrate --pythonpath='/home/djangoprojects/myproject' django-admin migrate --pythonpath='/home/djangoprojects/myproject'
.. _import search path: https://www.diveinto.org/python3/your-first-python-program.html#importsearchpath .. _import search path: https://diveinto.org/python3/your-first-python-program.html#importsearchpath
.. django-admin-option:: --settings SETTINGS .. django-admin-option:: --settings SETTINGS

View File

@ -453,7 +453,7 @@ in the :setting:`SECURE_REDIRECT_EXEMPT` setting.
Django can't seem to tell when a request actually is already secure, you Django can't seem to tell when a request actually is already secure, you
may need to set the :setting:`SECURE_PROXY_SSL_HEADER` setting. may need to set the :setting:`SECURE_PROXY_SSL_HEADER` setting.
.. _nginx: https://nginx.org .. _nginx: https://nginx.org/
Session middleware Session middleware
------------------ ------------------

View File

@ -1095,9 +1095,9 @@ Without passing ``safe=False``, a :exc:`TypeError` will be raised.
.. warning:: .. warning::
Before the `5th edition of ECMAScript Before the `5th edition of ECMAScript
<https://www.ecma-international.org/ecma-262/5.1/index.html#sec-11.1.4>`_ <https://262.ecma-international.org/5.1/#sec-11.1.4>`_ it was possible to
it was possible to poison the JavaScript ``Array`` constructor. For this poison the JavaScript ``Array`` constructor. For this reason, Django does
reason, Django does not allow passing non-dict objects to the not allow passing non-dict objects to the
:class:`~django.http.JsonResponse` constructor by default. However, most :class:`~django.http.JsonResponse` constructor by default. However, most
modern browsers implement ECMAScript 5 which removes this attack vector. modern browsers implement ECMAScript 5 which removes this attack vector.
Therefore it is possible to disable this security precaution. Therefore it is possible to disable this security precaution.

View File

@ -1324,8 +1324,9 @@ If ``value`` is ``"String with spaces"``, the output will be
Formats a date according to the given format. Formats a date according to the given format.
Uses a similar format as PHP's ``date()`` function (https://php.net/date) Uses a similar format to PHP's `date()
with some differences. <https://www.php.net/manual/en/function.date.php>`_ function with some
differences.
.. note:: .. note::
These format characters are not used in Django outside of templates. They These format characters are not used in Django outside of templates. They
@ -2106,8 +2107,8 @@ individual elements of the sequence.
Returns a slice of the list. Returns a slice of the list.
Uses the same syntax as Python's list slicing. See Uses the same syntax as Python's list slicing. See
https://www.diveinto.org/python3/native-datatypes.html#slicinglists https://diveinto.org/python3/native-datatypes.html#slicinglists for an
for an introduction. introduction.
Example:: Example::

View File

@ -114,7 +114,7 @@ by Django users and developers from around the world. Friendly people are
usually available at any hour of the day -- to help, or just to chat. usually available at any hour of the day -- to help, or just to chat.
.. _Django website: https://www.djangoproject.com/ .. _Django website: https://www.djangoproject.com/
.. _django-users: https://groups.google.com/group/django-users .. _django-users: https://groups.google.com/g/django-users
Thanks for using Django! Thanks for using Django!

View File

@ -79,8 +79,8 @@ see `the admin`_ below for more details.
A contributor to djangosnippets__ has written a script that'll `scan your A contributor to djangosnippets__ has written a script that'll `scan your
models.py and generate a corresponding admin.py`__. models.py and generate a corresponding admin.py`__.
__ https://www.djangosnippets.org/ __ https://djangosnippets.org/
__ https://www.djangosnippets.org/snippets/603/ __ https://djangosnippets.org/snippets/603/
Example Example
~~~~~~~ ~~~~~~~

View File

@ -587,7 +587,7 @@ the timezone based on the system timezone, you can use `tzlocal
This works similar to ``settings.TIME_ZONE = None`` except that it also sets This works similar to ``settings.TIME_ZONE = None`` except that it also sets
``os.environ['TZ']``. `Let us know ``os.environ['TZ']``. `Let us know
<https://groups.google.com/d/topic/django-developers/OAV3FChfuPM/discussion>`__ <https://groups.google.com/g/django-developers/c/OAV3FChfuPM/discussion>`__
if there's a use case where you find you can't adapt your code to set a if there's a use case where you find you can't adapt your code to set a
``TIME_ZONE``. ``TIME_ZONE``.

View File

@ -1056,7 +1056,7 @@ this into account.
For more information, see the full :doc:`syndication framework For more information, see the full :doc:`syndication framework
documentation </ref/contrib/syndication>`. documentation </ref/contrib/syndication>`.
.. _RSS best practices: http://www.rssboard.org/rss-profile .. _RSS best practices: https://www.rssboard.org/rss-profile
Technical message IDs Technical message IDs
--------------------- ---------------------

View File

@ -115,7 +115,7 @@ comprehensively. See the
:class:`documentation<django.test.LiveServerTestCase>` for more details and :class:`documentation<django.test.LiveServerTestCase>` for more details and
concrete examples. concrete examples.
.. _Selenium: https://selenium.dev/ .. _Selenium: https://www.selenium.dev/
Updated default project layout and ``manage.py`` Updated default project layout and ``manage.py``
------------------------------------------------ ------------------------------------------------

View File

@ -1043,7 +1043,7 @@ occasions, such as:
This makes the cache effectively work on a per-session basis regardless of the This makes the cache effectively work on a per-session basis regardless of the
``CACHE_MIDDLEWARE_ANONYMOUS_ONLY`` setting. ``CACHE_MIDDLEWARE_ANONYMOUS_ONLY`` setting.
__ https://www.google.com/analytics/ __ https://marketingplatform.google.com/about/analytics/
``SEND_BROKEN_LINK_EMAILS`` setting ``SEND_BROKEN_LINK_EMAILS`` setting
----------------------------------- -----------------------------------

View File

@ -13,7 +13,7 @@ intentionally after that, but we won't test subsequent releases against Python
much value in providing security updates for a version of Python that could be much value in providing security updates for a version of Python that could be
insecure. To read more about the decision and to let us know if this will be insecure. To read more about the decision and to let us know if this will be
problematic for you, please read the `django-developers thread problematic for you, please read the `django-developers thread
<https://groups.google.com/d/topic/django-developers/eMu5UQpUdWs/discussion>`_. <https://groups.google.com/g/django-developers/c/eMu5UQpUdWs/discussion>`_.
Bugfixes Bugfixes
======== ========

View File

@ -934,7 +934,7 @@ relevant documentation pages have been updated or removed.
The new package is available `on GitHub`_ and on PyPI. The new package is available `on GitHub`_ and on PyPI.
.. _on GitHub: https://github.com/django/django-formtools/ .. _on GitHub: https://github.com/jazzband/django-formtools/
Database connection reloading between tests Database connection reloading between tests
------------------------------------------- -------------------------------------------

View File

@ -99,7 +99,7 @@ Minor features
* The new :attr:`.ModelAdmin.autocomplete_fields` attribute and * The new :attr:`.ModelAdmin.autocomplete_fields` attribute and
:meth:`.ModelAdmin.get_autocomplete_fields` method allow using a :meth:`.ModelAdmin.get_autocomplete_fields` method allow using a
`Select2 <https://select2.org>`_ search widget for ``ForeignKey`` and `Select2 <https://select2.org/>`_ search widget for ``ForeignKey`` and
``ManyToManyField``. ``ManyToManyField``.
:mod:`django.contrib.auth` :mod:`django.contrib.auth`

View File

@ -340,12 +340,12 @@ Include any other hashers that your site uses in this list.
.. _sha1: https://en.wikipedia.org/wiki/SHA1 .. _sha1: https://en.wikipedia.org/wiki/SHA1
.. _pbkdf2: https://en.wikipedia.org/wiki/PBKDF2 .. _pbkdf2: https://en.wikipedia.org/wiki/PBKDF2
.. _nist: https://dx.doi.org/10.6028/NIST.SP.800-132 .. _nist: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf
.. _bcrypt: https://en.wikipedia.org/wiki/Bcrypt .. _bcrypt: https://en.wikipedia.org/wiki/Bcrypt
.. _`bcrypt library`: https://pypi.org/project/bcrypt/ .. _`bcrypt library`: https://pypi.org/project/bcrypt/
.. _`argon2-cffi library`: https://pypi.org/project/argon2_cffi/ .. _`argon2-cffi library`: https://pypi.org/project/argon2-cffi/
.. _argon2: https://en.wikipedia.org/wiki/Argon2 .. _argon2: https://en.wikipedia.org/wiki/Argon2
.. _`Password Hashing Competition`: https://password-hashing.net .. _`Password Hashing Competition`: https://www.password-hashing.net/
.. _auth-included-hashers: .. _auth-included-hashers:

View File

@ -35,9 +35,9 @@ specific views, you can cache only the pieces that are difficult to produce,
or you can cache your entire site. or you can cache your entire site.
Django also works well with "downstream" caches, such as `Squid Django also works well with "downstream" caches, such as `Squid
<http://www.squid-cache.org>`_ and browser-based caches. These are the types of <http://www.squid-cache.org/>`_ and browser-based caches. These are the types
caches that you don't directly control but to which you can provide hints (via of caches that you don't directly control but to which you can provide hints
HTTP headers) about which parts of your site should be cached, and how. (via HTTP headers) about which parts of your site should be cached, and how.
.. seealso:: .. seealso::
The :ref:`Cache Framework design philosophy <cache-design-philosophy>` The :ref:`Cache Framework design philosophy <cache-design-philosophy>`

View File

@ -98,7 +98,7 @@ can then look it up in the database. There are a variety of third-party
libraries which are designed to help with this process. libraries which are designed to help with this process.
.. _Elastic: https://www.elastic.co/ .. _Elastic: https://www.elastic.co/
.. _Solr: https://lucene.apache.org/solr/ .. _Solr: https://solr.apache.org/
PostgreSQL support PostgreSQL support
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~

View File

@ -209,7 +209,7 @@ from the request's POST data, sends that to admin@example.com and redirects to
# to get proper validation errors. # to get proper validation errors.
return HttpResponse('Make sure all fields are entered and valid.') return HttpResponse('Make sure all fields are entered and valid.')
.. _Header injection: http://www.nyphp.org/phundamentals/8_Preventing-Email-Header-Injection .. _Header injection: http://nyphp.org/phundamentals/8_Preventing-Email-Header-Injection
.. _emailmessage-and-smtpconnection: .. _emailmessage-and-smtpconnection:

View File

@ -33,6 +33,6 @@ Formtools
``django-formtools`` is a collection of assorted utilities to work with forms. ``django-formtools`` is a collection of assorted utilities to work with forms.
* `GitHub <https://github.com/django/django-formtools>`__ * `GitHub <https://github.com/jazzband/django-formtools/>`__
* `Documentation <https://django-formtools.readthedocs.io/>`__ * `Documentation <https://django-formtools.readthedocs.io/>`__
* `PyPI <https://pypi.org/project/django-formtools/>`__ * `PyPI <https://pypi.org/project/django-formtools/>`__

View File

@ -422,7 +422,7 @@ form is rendered, the problem may not even be visible on the web page.
The alternative approach would be to include all fields automatically, or The alternative approach would be to include all fields automatically, or
remove only some. This fundamental approach is known to be much less secure remove only some. This fundamental approach is known to be much less secure
and has led to serious exploits on major websites (e.g. `GitHub and has led to serious exploits on major websites (e.g. `GitHub
<https://github.com/blog/1068-public-key-security-vulnerability-and-mitigation>`_). <https://github.blog/2012-03-04-public-key-security-vulnerability-and-mitigation/>`_).
There are, however, two shortcuts available for cases where you can guarantee There are, however, two shortcuts available for cases where you can guarantee
these security concerns do not apply to you: these security concerns do not apply to you:

View File

@ -1555,9 +1555,9 @@ multiple times::
in general, and doesn't depend on ``gettext``. For more information, read in general, and doesn't depend on ``gettext``. For more information, read
its documentation about `working with message catalogs`_. its documentation about `working with message catalogs`_.
.. _Message extracting: http://babel.pocoo.org/en/latest/messages.html#message-extraction .. _Message extracting: https://babel.pocoo.org/en/latest/messages.html#message-extraction
.. _Babel: http://babel.pocoo.org/ .. _Babel: https://babel.pocoo.org/en/latest/
.. _working with message catalogs: http://babel.pocoo.org/en/latest/messages.html .. _working with message catalogs: https://babel.pocoo.org/en/latest/messages.html
.. admonition:: No gettext? .. admonition:: No gettext?

View File

@ -76,7 +76,7 @@ insight into your site's overall performance, including aspects that can't be
adequately measured from within Django environment. Examples include: adequately measured from within Django environment. Examples include:
* `Yahoo's Yslow <http://yslow.org/>`_ * `Yahoo's Yslow <http://yslow.org/>`_
* `Google PageSpeed <https://developers.google.com/speed/pagespeed/>`_ * `Google PageSpeed <https://developers.google.com/speed/>`_
There are also several paid-for services that perform a similar analysis, There are also several paid-for services that perform a similar analysis,
including some that are Django-aware and can integrate with your codebase to including some that are Django-aware and can integrate with your codebase to
@ -378,8 +378,8 @@ adequate. However, if the bottlenecks in your Django project seem to lie in the
template system and you have exhausted other opportunities to remedy this, a template system and you have exhausted other opportunities to remedy this, a
third-party alternative may be the answer. third-party alternative may be the answer.
`Jinja2 <http://jinja.pocoo.org/docs/>`_ can offer performance improvements, Jinja2_ can offer performance improvements, particularly when it comes to
particularly when it comes to speed. speed.
Alternative template systems vary in the extent to which they share Django's Alternative template systems vary in the extent to which they share Django's
templating language. templating language.
@ -410,15 +410,15 @@ performance gains for your application to outweigh the potential risks.
With these caveats in mind, you should be aware of: With these caveats in mind, you should be aware of:
`PyPy <https://pypy.org/>`_ `PyPy <https://www.pypy.org/>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~----
`PyPy <https://pypy.org/>`_ is an implementation of Python in Python itself `PyPy <https://www.pypy.org/>`_ is an implementation of Python in Python itself
(the 'standard' Python implementation is in C). PyPy can offer substantial (the 'standard' Python implementation is in C). PyPy can offer substantial
performance gains, typically for heavyweight applications. performance gains, typically for heavyweight applications.
A key aim of the PyPy project is `compatibility A key aim of the PyPy project is `compatibility
<https://pypy.org/compat.html>`_ with existing Python APIs and libraries. <https://www.pypy.org/compat.html>`_ with existing Python APIs and libraries.
Django is compatible, but you will need to check the compatibility of other Django is compatible, but you will need to check the compatibility of other
libraries you rely on. libraries you rely on.
@ -428,3 +428,5 @@ C implementations of Python libraries
Some Python libraries are also implemented in C, and can be much faster. They Some Python libraries are also implemented in C, and can be much faster. They
aim to offer the same APIs. Note that compatibility issues and behavior aim to offer the same APIs. Note that compatibility issues and behavior
differences are not unknown (and not always immediately evident). differences are not unknown (and not always immediately evident).
.. _Jinja2: https://jinja.palletsprojects.com/

View File

@ -167,7 +167,7 @@ Identifier Information
========== ============================================================== ========== ==============================================================
.. _json: https://json.org/ .. _json: https://json.org/
.. _jsonl: http://jsonlines.org/ .. _jsonl: https://jsonlines.org/
.. _PyYAML: https://pyyaml.org/ .. _PyYAML: https://pyyaml.org/
XML XML
@ -303,7 +303,7 @@ The JSON serializer uses ``DjangoJSONEncoder`` for encoding. A subclass of
:class:`~decimal.Decimal`, ``Promise`` (``django.utils.functional.lazy()`` objects), :class:`~uuid.UUID` :class:`~decimal.Decimal`, ``Promise`` (``django.utils.functional.lazy()`` objects), :class:`~uuid.UUID`
A string representation of the object. A string representation of the object.
.. _ecma-262: https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15 .. _ecma-262: https://262.ecma-international.org/5.1/#sec-15.9.1.15
.. _serialization-formats-jsonl: .. _serialization-formats-jsonl:

View File

@ -46,7 +46,7 @@ The value of :envvar:`DJANGO_SETTINGS_MODULE` should be in Python path syntax,
e.g. ``mysite.settings``. Note that the settings module should be on the e.g. ``mysite.settings``. Note that the settings module should be on the
Python `import search path`_. Python `import search path`_.
.. _import search path: https://www.diveinto.org/python3/your-first-python-program.html#importsearchpath .. _import search path: https://diveinto.org/python3/your-first-python-program.html#importsearchpath
The ``django-admin`` utility The ``django-admin`` utility
---------------------------- ----------------------------

View File

@ -988,7 +988,7 @@ case you do not have Firefox installed or wish to use another browser. The
example above is just a tiny fraction of what the Selenium client can do; check example above is just a tiny fraction of what the Selenium client can do; check
out the `full reference`_ for more details. out the `full reference`_ for more details.
.. _Selenium: http://seleniumhq.org/ .. _Selenium: https://www.selenium.dev/
.. _selenium package: https://pypi.org/project/selenium/ .. _selenium package: https://pypi.org/project/selenium/
.. _full reference: https://selenium-python.readthedocs.io/api.html .. _full reference: https://selenium-python.readthedocs.io/api.html
.. _Firefox: https://www.mozilla.com/firefox/ .. _Firefox: https://www.mozilla.com/firefox/