Updated various links in docs to avoid redirects

Thanks Tim Graham and Mariusz Felisiak for review and completion.
This commit is contained in:
Claude Paroz 2017-05-20 17:51:21 +02:00
parent a3ba2662cd
commit 01f658644a
37 changed files with 70 additions and 78 deletions

View File

@ -369,5 +369,5 @@ epub_cover = ('', 'epub-cover.html')
# epub_use_index = True
# -- custom extension options --------------------------------------------------
cve_url = 'https://web.nvd.nist.gov/view/vuln/detail?vulnId=%s'
cve_url = 'https://nvd.nist.gov/view/vuln/detail?vulnId=%s'
ticket_url = 'https://code.djangoproject.com/ticket/%s'

View File

@ -36,7 +36,7 @@ PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.
.. _PostgreSQL: https://www.postgresql.org/
.. _MySQL: https://www.mysql.com/
.. _`SQLite 3`: https://www.sqlite.org/
.. _Oracle: http://www.oracle.com/
.. _Oracle: https://www.oracle.com/
.. _faq-python-version-support:

View File

@ -234,7 +234,7 @@ See :doc:`/howto/error-reporting` for details on error reporting by email.
Consider using an error monitoring system such as Sentry_ before your
inbox is flooded by reports. Sentry can also aggregate logs.
.. _Sentry: https://docs.getsentry.com/
.. _Sentry: https://docs.sentry.io/
Customize the default error views
---------------------------------

View File

@ -179,7 +179,7 @@ If you are using a version of Apache older than 2.4, replace
``Require all granted`` with ``Allow from all`` and also add the line
``Order deny,allow`` above it.
.. _Nginx: http://wiki.nginx.org/Main
.. _Nginx: https://nginx.org/en/
.. _Apache: https://httpd.apache.org/
.. More details on configuring a mod_wsgi site to serve static files can be found

View File

@ -7,7 +7,7 @@ How to use Django with uWSGI
uWSGI_ is a fast, self-healing and developer/sysadmin-friendly application
container server coded in pure C.
.. _uWSGI: https://projects.unbit.it/uwsgi/
.. _uWSGI: https://uwsgi-docs.readthedocs.io/
.. seealso::
@ -39,18 +39,14 @@ uWSGI model
uWSGI operates on a client-server model. Your Web server (e.g., nginx, Apache)
communicates with a `django-uwsgi` "worker" process to serve dynamic content.
See uWSGI's `background documentation`_ for more detail.
.. _background documentation: https://projects.unbit.it/uwsgi/wiki/Background
Configuring and starting the uWSGI server for Django
----------------------------------------------------
uWSGI supports multiple ways to configure the process. See uWSGI's
`configuration documentation`_ and `examples`_.
`configuration documentation`_.
.. _configuration documentation: https://uwsgi.readthedocs.io/en/latest/Configuration.html
.. _examples: https://projects.unbit.it/uwsgi/wiki/Example
Here's an example command to start a uWSGI server::

View File

@ -27,7 +27,7 @@ such as `Apache Tomcat`_. Full JavaEE applications servers such as `GlassFish`_
or `JBoss`_ are also OK, if you need the extra features they include.
.. _`Apache Tomcat`: https://tomcat.apache.org/
.. _GlassFish: https://glassfish.java.net/
.. _GlassFish: https://javaee.github.io/glassfish/
.. _JBoss: https://www.jboss.org/
Installing Django

View File

@ -73,7 +73,7 @@ type of web server -- faster but less full-featured. Some common choices are:
* Nginx_
* A stripped-down version of Apache_
.. _Nginx: http://wiki.nginx.org/Main
.. _Nginx: https://nginx.org/en/
.. _Apache: https://httpd.apache.org/
Configuring these servers is out of scope of this document; check each
@ -142,8 +142,8 @@ as changing your :setting:`STATICFILES_STORAGE` setting.
For details on how you'd write one of these backends, see
:doc:`/howto/custom-file-storage`. There are 3rd party apps available that
provide storage backends for many common file storage APIs. A good starting
point is the `overview at djangopackages.com
<https://www.djangopackages.com/grids/g/storage-backends/>`_.
point is the `overview at djangopackages.org
<https://djangopackages.org/grids/g/storage-backends/>`_.
Learn more
==========

View File

@ -70,7 +70,7 @@ Django source tree, as for any code change:
.. _Transifex: https://www.transifex.com/
.. _Django project page: https://www.transifex.com/django/django/
.. _Transifex User Guide: http://docs.transifex.com/
.. _Transifex User Guide: https://docs.transifex.com/
.. _translating-documentation:

View File

@ -60,7 +60,7 @@ Having problems? See :ref:`troubleshooting-unit-tests` for some common issues.
Running tests using ``tox``
---------------------------
`Tox <http://tox.testrun.org/>`_ is a tool for running tests in different
`Tox <https://tox.readthedocs.io/>`_ is a tool for running tests in different
virtual environments. Django includes a basic ``tox.ini`` that automates some
checks that our build server performs on pull requests. To run the unit tests
and other checks (such as :ref:`import sorting <coding-style-imports>`, the
@ -272,7 +272,7 @@ associated tests will be skipped.
.. _gettext: https://www.gnu.org/software/gettext/manual/gettext.html
.. _selenium: https://pypi.python.org/pypi/selenium
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
.. _pip requirements files: https://pip.pypa.io/en/latest/user_guide.html#requirements-files
.. _pip requirements files: https://pip.pypa.io/en/latest/user_guide/#requirements-files
Code coverage
-------------

View File

@ -18,7 +18,7 @@ Installing Git
==============
Django uses `Git`_ for its source control. You can `download
<http://git-scm.com/download>`_ Git, but it's often easier to install with
<https://git-scm.com/download>`_ Git, but it's often easier to install with
your operating system's package manager.
Django's `Git repository`_ is hosted on `GitHub`_, and it is recommended
@ -34,7 +34,7 @@ Note that ``user.name`` should be your real name, not your GitHub nick. GitHub
should know the email you use in the ``user.email`` field, as this will be
used to associate your commits with your GitHub account.
.. _Git: http://git-scm.com/
.. _Git: https://git-scm.com/
.. _Git repository: https://github.com/django/django/
.. _GitHub: https://github.com/

View File

@ -427,7 +427,7 @@ Before you commit your docs, it's a good idea to run the spelling checker.
You'll need to install a couple packages first:
* `pyenchant <https://pypi.python.org/pypi/pyenchant/>`_ (which requires
`enchant <http://www.abisource.com/projects/enchant/>`_)
`enchant <https://www.abisource.com/projects/enchant/>`_)
* `sphinxcontrib-spelling
<https://pypi.python.org/pypi/sphinxcontrib-spelling/>`_

View File

@ -52,8 +52,8 @@ The source code for the `Djangoproject.com <https://www.djangoproject.com/>`_
website can be found at `github.com/django/djangoproject.com
<https://github.com/django/djangoproject.com>`_.
.. _Git: http://git-scm.com/
.. _documentation: http://git-scm.com/documentation
.. _Git: https://git-scm.com/
.. _documentation: https://git-scm.com/documentation
.. _branches: https://github.com/django/django/branches
.. _tags: https://github.com/django/django/tags

View File

@ -155,7 +155,7 @@ OK, this is the fun part, where we actually push out a release!
#. Check `Jenkins`__ is green for the version(s) you're putting out. You
probably shouldn't issue a release until it's green.
__ http://djangoci.com
__ https://djangoci.com
#. A release always begins from a release branch, so you should make sure
you're on a stable branch and up-to-date. For example::

View File

@ -71,7 +71,7 @@ probably got the answers.
.. admonition:: Python 3 required!
The current development version of Django doesn't support Python 2.7. Get
Python 3 at `Python's download page <https://www.python.org/download/>`_ or
Python 3 at `Python's download page <https://www.python.org/downloads/>`_ or
with your operating system's package manager.
.. admonition:: For Windows users
@ -105,7 +105,7 @@ have to download and install it, see `Git's download page`__.
If you're not that familiar with Git, you can always find out more about its
commands (once it's installed) by typing ``git help`` into the command line.
__ http://git-scm.com/download
__ https://git-scm.com/download
Getting a copy of Django's development version
==============================================
@ -299,7 +299,7 @@ present in Django's official builds. If you click to view a particular build,
you can view the "Configuration Matrix" which shows failures broken down by
Python version and database backend.
__ http://djangoci.com
__ https://djangoci.com
.. note::

View File

@ -16,7 +16,7 @@ database called SQLite_ so you won't need to set up a database just yet.
.. _sqlite: https://sqlite.org/
Get the latest version of Python at https://www.python.org/download/ or with
Get the latest version of Python at https://www.python.org/downloads/ or with
your operating system's package manager.
.. admonition:: Django on Jython

View File

@ -19,11 +19,10 @@ could save some of this repeated work?
Reusability is the way of life in Python. `The Python Package Index (PyPI)
<https://pypi.python.org/pypi>`_ has a vast range of packages you can use in
your own Python programs. Check out `Django Packages
<https://www.djangopackages.com>`_ for existing reusable apps you could
incorporate in your project. Django itself is also just a Python package. This
means that you can take existing Python packages or Django apps and compose
them into your own web project. You only need to write the parts that make
your project unique.
<https://djangopackages.org>`_ for existing reusable apps you could incorporate
in your project. Django itself is also just a Python package. This means that
you can take existing Python packages or Django apps and compose them into your
own web project. You only need to write the parts that make your project unique.
Let's say you were starting a new project that needed a polls app like the one
we've been working on. How do you make this app reusable? Luckily, you're well
@ -257,7 +256,7 @@ this. For a small app like polls, this process isn't too difficult.
new package, ``django-polls-0.1.tar.gz``.
For more information on packaging, see Python's `Tutorial on Packaging and
Distributing Projects <https://packaging.python.org/en/latest/distributing.html>`_.
Distributing Projects <https://packaging.python.org/distributing/>`_.
Using your own package
======================
@ -303,7 +302,7 @@ the world! If this wasn't just an example, you could now:
* Post the package on a public repository, such as `the Python Package Index
(PyPI)`_. `packaging.python.org <https://packaging.python.org>`_ has `a good
tutorial <https://packaging.python.org/en/latest/distributing.html#uploading-your-project-to-pypi>`_
tutorial <https://packaging.python.org/distributing/#uploading-your-project-to-pypi>`_
for doing this.
Installing Python packages with virtualenv

View File

@ -27,7 +27,7 @@ template system a programmer uses.
Although Django comes with a full stack for convenience, the pieces of the
stack are independent of another wherever possible.
.. _`loose coupling and tight cohesion`: http://c2.com/cgi/wiki?CouplingAndCohesion
.. _`loose coupling and tight cohesion`: http://wiki.c2.com/?CouplingAndCohesion
.. _less-code:
@ -66,7 +66,7 @@ as possible.
The `discussion of DRY on the Portland Pattern Repository`__
__ http://c2.com/cgi/wiki?DontRepeatYourself
__ http://wiki.c2.com/?DontRepeatYourself
.. _explicit-is-better-than-implicit:
@ -110,7 +110,7 @@ it (its human-readable name, options like default ordering, etc.) are
defined in the model class; all the information needed to understand a
given model should be stored *in* the model.
.. _`Active Record`: http://www.martinfowler.com/eaaCatalog/activeRecord.html
.. _`Active Record`: https://www.martinfowler.com/eaaCatalog/activeRecord.html
Database API
============

View File

@ -35,7 +35,7 @@ load the resource in a frame if the request originated from the same site. If
the header is set to ``DENY`` then the browser will block the resource from
loading in a frame no matter which site made the request.
.. _X-Frame-Options: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
.. _X-Frame-Options: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Django provides a few simple ways to include this header in responses from your
site:
@ -127,5 +127,5 @@ See also
A `complete list`_ of browsers supporting ``X-Frame-Options``.
.. _complete list: https://developer.mozilla.org/en-US/docs/Web/HTTP/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

View File

@ -7,10 +7,10 @@ GeoDjango Forms API
GeoDjango provides some specialized form fields and widgets in order to visually
display and edit geolocalized data on a map. By default, they use
`OpenLayers`_-powered maps, with a base WMS layer provided by `Metacarta`_.
`OpenLayers`_-powered maps, with a base WMS layer provided by `NASA`_.
.. _OpenLayers: http://openlayers.org/
.. _Metacarta: http://www.metacarta.com/
.. _NASA: https://earthdata.nasa.gov/
Field arguments
===============

View File

@ -18,7 +18,7 @@ and spatial operators. GEOS, now an OSGeo project, was initially developed and
maintained by `Refractions Research`__ of Victoria, Canada.
__ https://trac.osgeo.org/geos/
__ http://sourceforge.net/projects/jts-topo-suite/
__ https://sourceforge.net/projects/jts-topo-suite/
__ http://www.opengeospatial.org/standards/sfs
__ http://www.refractions.net/

View File

@ -257,7 +257,7 @@ Summary::
$ brew install gdal
$ brew install libgeoip
__ http://brew.sh/
__ https://brew.sh/
.. _Xcode: https://developer.apple.com/xcode/
.. _kyngchaos:
@ -402,8 +402,8 @@ install :ref:`postgisasb`.
and contains shortcuts for the ASB as well as the 'SQL Shell',
which will launch a ``psql`` command window.
__ http://www.enterprisedb.com/products-services-training/pgdownload
__ http://www.enterprisedb.com
__ https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
__ https://www.enterprisedb.com
.. _postgisasb:

View File

@ -133,4 +133,4 @@ following to your ``settings.py``::
SPATIALITE_LIBRARY_PATH='/usr/local/lib/mod_spatialite.dylib'
.. _Homebrew: http://brew.sh/
.. _Homebrew: https://brew.sh/

View File

@ -278,7 +278,7 @@ A more useful index is a ``GIN`` index, which you should create using a
similar to PostgreSQL's ``text`` type.
.. _citext: https://www.postgresql.org/docs/current/static/citext.html
.. _the performance considerations: https://www.postgresql.org/docs/current/static/citext.html#AEN169274
.. _the performance considerations: https://www.postgresql.org/docs/current/static/citext.html#AEN178177
``HStoreField``
===============

View File

@ -8,7 +8,7 @@ The sitemap framework
Django comes with a high-level sitemap-generating framework that makes
creating sitemap_ XML files easy.
.. _sitemap: http://www.sitemaps.org/
.. _sitemap: https://www.sitemaps.org/
Overview
========
@ -226,7 +226,7 @@ Note:
default priority of a page is ``0.5``. See the `sitemaps.org
documentation`_ for more.
.. _sitemaps.org documentation: http://www.sitemaps.org/protocol.html#prioritydef
.. _sitemaps.org documentation: https://www.sitemaps.org/protocol.html#prioritydef
.. attribute:: Sitemap.protocol
@ -244,7 +244,7 @@ Note:
This attribute defines the maximum number of URLs included on each page
of the sitemap. Its value should not exceed the default value of
``50000``, which is the upper limit allowed in the `Sitemaps protocol
<http://www.sitemaps.org/protocol.html#index>`_.
<https://www.sitemaps.org/protocol.html#index>`_.
.. attribute:: Sitemap.i18n
@ -460,7 +460,7 @@ generate a Google News compatible sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
{% spaceless %}
{% for url in urlset %}

View File

@ -145,8 +145,8 @@ Setting the token on the AJAX request
Finally, you'll have to actually set the header on your AJAX request, while
protecting the CSRF token from being sent to other domains using
`settings.crossDomain <https://api.jquery.com/jQuery.ajax>`_ in jQuery 1.5.1 and
newer:
`settings.crossDomain <https://api.jquery.com/jQuery.ajax/>`_ in jQuery 1.5.1
and newer:
.. code-block:: javascript

View File

@ -721,8 +721,8 @@ Oracle notes
Django supports `Oracle Database Server`_ versions 12.1 and higher. Version
5.2 or higher of the `cx_Oracle`_ Python driver is required.
.. _`Oracle Database Server`: http://www.oracle.com/
.. _`cx_Oracle`: http://cx-oracle.sourceforge.net/
.. _`Oracle Database Server`: https://www.oracle.com/
.. _`cx_Oracle`: https://oracle.github.io/python-cx_Oracle/
In order for the ``python manage.py migrate`` command to work, your Oracle
database user must have privileges to run the following commands:

View File

@ -955,7 +955,7 @@ Python interpreter, use ``python`` as the interface name, like so::
django-admin shell -i python
.. _IPython: https://ipython.org/
.. _bpython: http://bpython-interpreter.org/
.. _bpython: https://bpython-interpreter.org/
.. django-admin-option:: --nostartup

View File

@ -287,7 +287,7 @@ If you wish to submit your site to the `browser preload list`_, set the
you may need to set the :setting:`SECURE_PROXY_SSL_HEADER` setting.
.. _"Strict-Transport-Security" header: https://en.wikipedia.org/wiki/Strict_Transport_Security
.. _browser preload list: https://hstspreload.appspot.com/
.. _browser preload list: https://hstspreload.org/
.. _x-content-type-options:
@ -303,12 +303,9 @@ If your site serves user-uploaded files, a malicious user could upload a
specially-crafted file that would be interpreted as HTML or JavaScript by
the browser when you expected it to be something harmless.
To learn more about this header and how the browser treats it, you can
read about it on the `IE Security Blog`_.
To prevent the browser from guessing the content type and force it to
always use the type provided in the ``Content-Type`` header, you can pass
the ``X-Content-Type-Options: nosniff`` header. ``SecurityMiddleware`` will
the `X-Content-Type-Options: nosniff`__ header. ``SecurityMiddleware`` will
do this for all responses if the :setting:`SECURE_CONTENT_TYPE_NOSNIFF` setting
is ``True``.
@ -320,7 +317,7 @@ you are using Django to do something like require authorization in order to
download files and you cannot set the header using your Web server, this
setting will be useful.
.. _IE Security Blog: http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx
__ https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
.. _x-xss-protection:
@ -347,7 +344,7 @@ header. ``SecurityMiddleware`` will do this for all responses if the
sanitizing <cross-site-scripting>` all input to prevent XSS attacks.
.. _XSS attack: https://en.wikipedia.org/wiki/Cross-site_scripting
.. _X-XSS-Protection header: http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx
.. _X-XSS-Protection header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
.. _ssl-redirect:

View File

@ -414,7 +414,7 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004
.. class:: Rss201rev2Feed(RssFeed)
Spec: https://cyber.law.harvard.edu/rss/rss.html
Spec: https://cyber.harvard.edu/rss/rss.html
``RssUserland091Feed``
----------------------

View File

@ -301,4 +301,4 @@ to, or in lieu of custom ``field.clean()`` methods.
.. versionadded:: 1.11
Uses Pillow to ensure that the ``value`` is `a valid image extension
<https://pillow.readthedocs.org/en/latest/handbook/image-file-formats.html>`_.
<https://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html>`_.

View File

@ -29,7 +29,7 @@ readability of your code. **All** of the suggestions below come with the caveat
that in your circumstances the general principle might not apply, or might even
be reversed.
.. _django-debug-toolbar: https://github.com/django-debug-toolbar/django-debug-toolbar/
.. _django-debug-toolbar: https://github.com/jazzband/django-debug-toolbar/
Use standard DB optimization techniques
=======================================

View File

@ -1088,7 +1088,7 @@ For example, a ``Blog`` object ``b`` has access to a list of all related
All examples in this section use the sample ``Blog``, ``Author`` and ``Entry``
models defined at the top of this page.
.. _descriptors: http://users.rcn.com/python/download/Descriptor.htm
.. _descriptors: https://docs.python.org/3/howto/descriptor.html
One-to-many relationships
-------------------------

View File

@ -167,7 +167,7 @@ and the :setting:`SECRET_KEY` setting.
.. _`common limit of 4096 bytes`: https://tools.ietf.org/html/rfc2965#section-5.3
.. _`replay attacks`: https://en.wikipedia.org/wiki/Replay_attack
.. _`speed of your site`: http://yuiblog.com/blog/2007/03/01/performance-research-part-3/
.. _`speed of your site`: https://yuiblog.com/blog/2007/03/01/performance-research-part-3/
Using sessions in views
=======================

View File

@ -10,7 +10,7 @@ Install Python
Being a Python Web framework, Django requires Python. See
:ref:`faq-python-version-support` for details.
Get the latest version of Python at https://www.python.org/download/ or with
Get the latest version of Python at https://www.python.org/downloads/ or with
your operating system's package manager.
.. admonition:: Django on Jython
@ -119,8 +119,8 @@ database queries, Django will need permission to create a test database.
.. _MySQL: https://www.mysql.com/
.. _psycopg2: http://initd.org/psycopg/
.. _SQLite: https://www.sqlite.org/
.. _cx_Oracle: http://cx-oracle.sourceforge.net/
.. _Oracle: http://www.oracle.com/
.. _cx_Oracle: https://oracle.github.io/python-cx_Oracle/
.. _Oracle: https://www.oracle.com/
.. _removing-old-versions-of-django:
@ -243,4 +243,4 @@ When you want to update your copy of the Django source code, just run the
command ``git pull`` from within the ``django`` directory. When you do this,
Git will automatically download any changes.
.. _Git: http://git-scm.com/
.. _Git: https://git-scm.com/

View File

@ -56,10 +56,10 @@ Django tools
~~~~~~~~~~~~
`django-debug-toolbar
<https://github.com/django-debug-toolbar/django-debug-toolbar/>`_ is a very
handy tool that provides insights into what your code is doing and how much
time it spends doing it. In particular it can show you all the SQL queries your
page is generating, and how long each one has taken.
<https://github.com/jazzband/django-debug-toolbar/>`_ is a very handy tool that
provides insights into what your code is doing and how much time it spends
doing it. In particular it can show you all the SQL queries your page is
generating, and how long each one has taken.
Third-party panels are also available for the toolbar, that can (for example)
report on cache performance and template rendering times.

View File

@ -831,4 +831,4 @@ Implementing a custom context processor is as simple as defining a function.
.. _Jinja2: http://jinja.pocoo.org/
.. _DEP 182: https://github.com/django/deps/blob/master/final/0182-multiple-template-engines.rst
.. _Django Debug Toolbar: https://github.com/django-debug-toolbar/django-debug-toolbar
.. _Django Debug Toolbar: https://github.com/jazzband/django-debug-toolbar

View File

@ -740,5 +740,5 @@ listed here because of the ``source`` flag passed to the previous command.
For more options like annotated HTML listings detailing missed lines, see the
`coverage.py`_ docs.
.. _coverage.py: http://nedbatchelder.com/code/coverage/
.. _coverage.py: http://coverage.readthedocs.io/
.. _install coverage.py: https://pypi.python.org/pypi/coverage