Fixed #29334 -- Updated pypi.python.org URLs to pypi.org.
This commit is contained in:
parent
b3cffde555
commit
64b74804c5
|
@ -1,7 +1,7 @@
|
|||
"""
|
||||
MySQL database backend for Django.
|
||||
|
||||
Requires mysqlclient: https://pypi.python.org/pypi/mysqlclient/
|
||||
Requires mysqlclient: https://pypi.org/project/mysqlclient/
|
||||
"""
|
||||
import re
|
||||
|
||||
|
|
|
@ -376,7 +376,7 @@ class ImageField(FileField):
|
|||
return [
|
||||
checks.Error(
|
||||
'Cannot use ImageField because Pillow is not installed.',
|
||||
hint=('Get Pillow at https://pypi.python.org/pypi/Pillow '
|
||||
hint=('Get Pillow at https://pypi.org/project/Pillow/ '
|
||||
'or run command "pip install Pillow".'),
|
||||
obj=self,
|
||||
id='fields.E210',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"""Multi-consumer multi-producer dispatching mechanism
|
||||
|
||||
Originally based on pydispatch (BSD) http://pypi.python.org/pypi/PyDispatcher/2.0.1
|
||||
Originally based on pydispatch (BSD) https://pypi.org/project/PyDispatcher/2.0.1/
|
||||
See license.txt for original license.
|
||||
|
||||
Heavily modified for Django's purposes.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
"""
|
||||
Based on "python-archive" -- http://pypi.python.org/pypi/python-archive/
|
||||
Based on "python-archive" -- https://pypi.org/project/python-archive/
|
||||
|
||||
Copyright (c) 2010 Gary Wilson Jr. <gary.wilson@gmail.com> and contributors.
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ Test your installation by importing it in the Python interactive interpreter::
|
|||
|
||||
If that command doesn't raise any errors, the installation worked.
|
||||
|
||||
.. _available on PyPI: https://pypi.python.org/pypi/reportlab
|
||||
.. _available on PyPI: https://pypi.org/project/reportlab/
|
||||
.. _user guide: https://www.reportlab.com/docs/reportlab-userguide.pdf
|
||||
|
||||
Write your view
|
||||
|
|
|
@ -40,7 +40,7 @@ To install pip on your machine, go to
|
|||
https://pip.pypa.io/en/latest/installing/, and follow the ``Installing with
|
||||
get-pip.py`` instructions.
|
||||
|
||||
.. _pip: https://pypi.python.org/pypi/pip
|
||||
.. _pip: https://pypi.org/project/pip/
|
||||
|
||||
Install ``virtualenv`` and ``virtualenvwrapper``
|
||||
================================================
|
||||
|
@ -62,8 +62,8 @@ command prompt, you'll need to activate the environment again using::
|
|||
|
||||
workon myproject
|
||||
|
||||
.. _virtualenv: https://pypi.python.org/pypi/virtualenv
|
||||
.. _virtualenvwrapper: https://pypi.python.org/pypi/virtualenvwrapper-win
|
||||
.. _virtualenv: https://pypi.org/project/virtualenv/
|
||||
.. _virtualenvwrapper: https://pypi.org/project/virtualenvwrapper-win/
|
||||
|
||||
Install Django
|
||||
==============
|
||||
|
|
|
@ -332,4 +332,4 @@ For details about the JavaScript code style used by Django, see
|
|||
:doc:`javascript`.
|
||||
|
||||
.. _editorconfig: http://editorconfig.org/
|
||||
.. _flake8: https://pypi.python.org/pypi/flake8
|
||||
.. _flake8: https://pypi.org/project/flake8/
|
||||
|
|
|
@ -258,20 +258,20 @@ and install the Geospatial libraries</ref/contrib/gis/install/index>`.
|
|||
Each of these dependencies is optional. If you're missing any of them, the
|
||||
associated tests will be skipped.
|
||||
|
||||
.. _argon2-cffi: https://pypi.python.org/pypi/argon2_cffi
|
||||
.. _bcrypt: https://pypi.python.org/pypi/bcrypt
|
||||
.. _docutils: https://pypi.python.org/pypi/docutils
|
||||
.. _geoip2: https://pypi.python.org/pypi/geoip2
|
||||
.. _jinja2: https://pypi.python.org/pypi/jinja2
|
||||
.. _numpy: https://pypi.python.org/pypi/numpy
|
||||
.. _Pillow: https://pypi.python.org/pypi/Pillow/
|
||||
.. _argon2-cffi: https://pypi.org/project/argon2_cffi/
|
||||
.. _bcrypt: https://pypi.org/project/bcrypt/
|
||||
.. _docutils: https://pypi.org/project/docutils/
|
||||
.. _geoip2: https://pypi.org/project/geoip2/
|
||||
.. _jinja2: https://pypi.org/project/jinja2/
|
||||
.. _numpy: https://pypi.org/project/numpy/
|
||||
.. _Pillow: https://pypi.org/project/Pillow/
|
||||
.. _PyYAML: https://pyyaml.org/wiki/PyYAML
|
||||
.. _pytz: https://pypi.python.org/pypi/pytz/
|
||||
.. _setuptools: https://pypi.python.org/pypi/setuptools/
|
||||
.. _pytz: https://pypi.org/project/pytz/
|
||||
.. _setuptools: https://pypi.org/project/setuptools/
|
||||
.. _memcached: https://memcached.org/
|
||||
.. _gettext: https://www.gnu.org/software/gettext/manual/gettext.html
|
||||
.. _selenium: https://pypi.python.org/pypi/selenium
|
||||
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
|
||||
.. _selenium: https://pypi.org/project/selenium/
|
||||
.. _sqlparse: https://pypi.org/project/sqlparse/
|
||||
.. _pip requirements files: https://pip.pypa.io/en/latest/user_guide/#requirements-files
|
||||
|
||||
Code coverage
|
||||
|
|
|
@ -474,11 +474,11 @@ Spelling check
|
|||
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
|
||||
* `pyenchant <https://pypi.org/project/pyenchant/>`_ (which requires
|
||||
`enchant <https://www.abisource.com/projects/enchant/>`_)
|
||||
|
||||
* `sphinxcontrib-spelling
|
||||
<https://pypi.python.org/pypi/sphinxcontrib-spelling/>`_
|
||||
<https://pypi.org/project/sphinxcontrib-spelling/>`_
|
||||
|
||||
Then from the ``docs`` directory, run ``make spelling``. Wrong words (if any)
|
||||
along with the file and line number where they occur will be saved to
|
||||
|
|
|
@ -632,9 +632,6 @@ details on these changes.
|
|||
|
||||
* Support for the Python Imaging Library (PIL) module will be removed, as it
|
||||
no longer appears to be actively maintained & does not work on Python 3.
|
||||
You are advised to install `Pillow`_, which should be used instead.
|
||||
|
||||
.. _`Pillow`: https://pypi.python.org/pypi/Pillow
|
||||
|
||||
* The following private APIs will be removed:
|
||||
|
||||
|
|
|
@ -309,7 +309,7 @@ Now you're ready to actually put the release out there. To do this:
|
|||
This just tests that the tarballs are available (i.e. redirects are up) and
|
||||
that they install correctly, but it'll catch silly mistakes.
|
||||
|
||||
__ https://pypi.python.org/pypi/virtualenvwrapper
|
||||
__ https://pypi.org/project/virtualenvwrapper/
|
||||
|
||||
#. 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)
|
||||
|
|
|
@ -133,7 +133,7 @@ On the day of disclosure, we will take the following steps:
|
|||
4. Post a notice to the |django-announce| and oss-security@lists.openwall.com
|
||||
mailing lists that links to the blog post.
|
||||
|
||||
.. _the Python Package Index: https://pypi.python.org/pypi
|
||||
.. _the Python Package Index: https://pypi.org/
|
||||
.. _the official Django development blog: https://www.djangoproject.com/weblog/
|
||||
|
||||
If a reported issue is believed to be particularly time-sensitive --
|
||||
|
|
|
@ -17,12 +17,12 @@ Python and Django projects share common problems. Wouldn't it be great if we
|
|||
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://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.
|
||||
<https://pypi.org/>`_ has a vast range of packages you can use in your own
|
||||
Python programs. Check out `Django Packages <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
|
||||
|
@ -110,8 +110,8 @@ two packages now. If you need help, you can refer to :ref:`how to install
|
|||
Django with pip<installing-official-release>`. You can install ``setuptools``
|
||||
the same way.
|
||||
|
||||
.. _setuptools: https://pypi.python.org/pypi/setuptools
|
||||
.. _pip: https://pypi.python.org/pypi/pip
|
||||
.. _setuptools: https://pypi.org/project/setuptools/
|
||||
.. _pip: https://pypi.org/project/pip/
|
||||
|
||||
Packaging your app
|
||||
==================
|
||||
|
@ -288,8 +288,6 @@ working. We'll now fix this by installing our new ``django-polls`` package.
|
|||
|
||||
pip uninstall django-polls
|
||||
|
||||
.. _pip: https://pypi.python.org/pypi/pip
|
||||
|
||||
Publishing your app
|
||||
===================
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Additionally, it is recommended to install the `libmaxminddb C library`__, so
|
|||
that ``geoip2`` can leverage the C library's faster speed.
|
||||
|
||||
__ https://geoip2.readthedocs.io/
|
||||
__ https://pypi.python.org/pypi/geoip2
|
||||
__ https://pypi.org/project/geoip2/
|
||||
__ https://dev.maxmind.com/geoip/geoip2/geolite2/
|
||||
__ https://github.com/maxmind/libmaxminddb
|
||||
|
||||
|
|
|
@ -321,7 +321,7 @@ MySQL has a couple drivers that implement the Python Database API described in
|
|||
require the MySQL client library or any Python modules outside the standard
|
||||
library.
|
||||
|
||||
.. _mysqlclient: https://pypi.python.org/pypi/mysqlclient
|
||||
.. _mysqlclient: https://pypi.org/project/mysqlclient/
|
||||
.. _MySQL Connector/Python: https://dev.mysql.com/downloads/connector/python
|
||||
|
||||
These drivers are thread-safe and provide connection pooling.
|
||||
|
@ -919,7 +919,7 @@ unofficial backends, along with any support queries, should be directed to
|
|||
the support channels provided by each 3rd party project.
|
||||
|
||||
.. _SAP SQL Anywhere: https://github.com/sqlanywhere/sqlany-django
|
||||
.. _IBM DB2: https://pypi.python.org/pypi/ibm_db/
|
||||
.. _IBM DB2: https://pypi.org/project/ibm_db/
|
||||
.. _Microsoft SQL Server: https://django-mssql.readthedocs.io/en/latest/
|
||||
.. _Firebird: https://github.com/maxirobaina/django-firebird
|
||||
.. _ODBC: https://github.com/lionheart/django-pyodbc/
|
||||
|
|
|
@ -856,7 +856,7 @@ second). This offers better scaling to large projects, reduction in response
|
|||
time to code modification, more robust change detection, and battery usage
|
||||
reduction.
|
||||
|
||||
.. _pyinotify: https://pypi.python.org/pypi/pyinotify/
|
||||
.. _pyinotify: https://pypi.org/project/pyinotify/
|
||||
|
||||
When you start the server, and each time you change Python code while the
|
||||
server is running, the system check framework will check your entire Django
|
||||
|
|
|
@ -275,7 +275,7 @@ be removed (elided) when :ref:`squashing migrations <migration-squashing>`.
|
|||
want the operation not to do anything in the given direction. This is
|
||||
especially useful in making the operation reversible.
|
||||
|
||||
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
|
||||
.. _sqlparse: https://pypi.org/project/sqlparse/
|
||||
|
||||
``RunPython``
|
||||
-------------
|
||||
|
|
|
@ -657,7 +657,7 @@ escaping HTML.
|
|||
the return value will be ``"Joel is a slug"``.
|
||||
|
||||
If you are looking for a more robust solution, take a look at the `bleach
|
||||
<https://pypi.python.org/pypi/bleach>`_ Python library.
|
||||
<https://pypi.org/project/bleach/>`_ Python library.
|
||||
|
||||
.. function:: html_safe()
|
||||
|
||||
|
|
|
@ -576,7 +576,7 @@ It's automatically installed along with Django.
|
|||
Support for ``settings.TIME_ZONE = None`` is removed as the behavior isn't
|
||||
commonly used and is questionably useful. If you want to automatically detect
|
||||
the timezone based on the system timezone, you can use `tzlocal
|
||||
<https://pypi.python.org/pypi/tzlocal>`_::
|
||||
<https://pypi.org/project/tzlocal/>`_::
|
||||
|
||||
from tzlocal import get_localzone
|
||||
|
||||
|
|
|
@ -133,7 +133,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: https://pypi.python.org/pypi/unittest2
|
||||
.. _unittest2: https://pypi.org/project/unittest2/
|
||||
|
||||
Transaction context managers
|
||||
----------------------------
|
||||
|
|
|
@ -261,8 +261,8 @@ Minor features
|
|||
`PIL`_ is pending deprecation (support to be removed in Django 1.8).
|
||||
To upgrade, you should **first** uninstall PIL, **then** install Pillow.
|
||||
|
||||
.. _`Pillow`: https://pypi.python.org/pypi/Pillow
|
||||
.. _`PIL`: https://pypi.python.org/pypi/PIL
|
||||
.. _`Pillow`: https://pypi.org/project/Pillow/
|
||||
.. _`PIL`: https://pypi.org/project/PIL/
|
||||
|
||||
* :class:`~django.forms.ModelForm` accepts several new ``Meta``
|
||||
options.
|
||||
|
|
|
@ -715,7 +715,7 @@ Management Commands
|
|||
filesystem for changes every second. That caused a small delay before
|
||||
reloads and reduced battery life on laptops.
|
||||
|
||||
.. _pyinotify: https://pypi.python.org/pypi/pyinotify
|
||||
.. _pyinotify: https://pypi.org/project/pyinotify/
|
||||
|
||||
* In addition, the development server automatically reloads when a
|
||||
translation file is updated, i.e. after running
|
||||
|
@ -737,7 +737,7 @@ Management Commands
|
|||
:class:`~django.db.migrations.operations.RunSQL` operation of migrations,
|
||||
which benefits from the improved behavior.
|
||||
|
||||
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
|
||||
.. _sqlparse: https://pypi.org/project/sqlparse/
|
||||
|
||||
Models
|
||||
~~~~~~
|
||||
|
@ -1202,7 +1202,7 @@ a :exc:`ValueError` when encountering them, you will have to install pytz_. You
|
|||
may be affected by this problem if you use Django's time zone-related date
|
||||
formats or :mod:`django.contrib.syndication`.
|
||||
|
||||
.. _pytz: https://pypi.python.org/pypi/pytz/
|
||||
.. _pytz: https://pypi.org/project/pytz/
|
||||
|
||||
``remove()`` and ``clear()`` methods of related managers
|
||||
--------------------------------------------------------
|
||||
|
|
|
@ -72,7 +72,7 @@ provides several security enhancements to the request/response cycle. The new
|
|||
:option:`check --deploy` option allows you to check your production settings
|
||||
file for ways to increase the security of your site.
|
||||
|
||||
.. _django-secure: https://pypi.python.org/pypi/django-secure
|
||||
.. _django-secure: https://pypi.org/project/django-secure/
|
||||
|
||||
New PostgreSQL specific functionality
|
||||
-------------------------------------
|
||||
|
@ -1493,7 +1493,7 @@ in Django 1.10. The functionality it provided (validating checksum using the
|
|||
Luhn algorithm) was undocumented and not used in Django. The module has been
|
||||
moved to the `django-localflavor`_ package (version 1.1+).
|
||||
|
||||
.. _django-localflavor: https://pypi.python.org/pypi/django-localflavor
|
||||
.. _django-localflavor: https://pypi.org/project/django-localflavor/
|
||||
|
||||
``InlineAdminForm.original_content_type_id``
|
||||
--------------------------------------------
|
||||
|
|
|
@ -40,7 +40,7 @@ invalidating caches.
|
|||
This functionality from the `django-transaction-hooks`_ package has been
|
||||
integrated into Django.
|
||||
|
||||
.. _django-transaction-hooks: https://pypi.python.org/pypi/django-transaction-hooks
|
||||
.. _django-transaction-hooks: https://pypi.org/project/django-transaction-hooks/
|
||||
|
||||
Password validation
|
||||
-------------------
|
||||
|
|
|
@ -320,8 +320,8 @@ Include any other hashers that your site uses in this list.
|
|||
.. _pbkdf2: https://en.wikipedia.org/wiki/PBKDF2
|
||||
.. _nist: https://dx.doi.org/10.6028/NIST.SP.800-132
|
||||
.. _bcrypt: https://en.wikipedia.org/wiki/Bcrypt
|
||||
.. _`bcrypt library`: https://pypi.python.org/pypi/bcrypt/
|
||||
.. _`argon2-cffi library`: https://pypi.python.org/pypi/argon2_cffi/
|
||||
.. _`bcrypt library`: https://pypi.org/project/bcrypt/
|
||||
.. _`argon2-cffi library`: https://pypi.org/project/argon2_cffi/
|
||||
.. _argon2: https://en.wikipedia.org/wiki/Argon2
|
||||
.. _`Password Hashing Competition`: https://password-hashing.net
|
||||
|
||||
|
|
|
@ -79,8 +79,8 @@ After installing Memcached itself, you'll need to install a Memcached
|
|||
binding. There are several Python Memcached bindings available; the
|
||||
two most common are `python-memcached`_ and `pylibmc`_.
|
||||
|
||||
.. _`python-memcached`: https://pypi.python.org/pypi/python-memcached
|
||||
.. _`pylibmc`: https://pypi.python.org/pypi/pylibmc
|
||||
.. _`python-memcached`: https://pypi.org/project/python-memcached/
|
||||
.. _`pylibmc`: https://pypi.org/project/pylibmc/
|
||||
|
||||
To use Memcached with Django:
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ and cultures.
|
|||
|
||||
* `GitHub <https://github.com/django/django-localflavor>`__
|
||||
* `Documentation <https://django-localflavor.readthedocs.io/>`__
|
||||
* `PyPI <https://pypi.python.org/pypi/django-localflavor>`__
|
||||
* `PyPI <https://pypi.org/project/django-localflavor/>`__
|
||||
|
||||
Comments
|
||||
========
|
||||
|
@ -26,7 +26,7 @@ product like Disqus.
|
|||
|
||||
* `GitHub <https://github.com/django/django-contrib-comments>`__
|
||||
* `Documentation <https://django-contrib-comments.readthedocs.io/>`__
|
||||
* `PyPI <https://pypi.python.org/pypi/django-contrib-comments>`__
|
||||
* `PyPI <https://pypi.org/project/django-contrib-comments/>`__
|
||||
|
||||
Formtools
|
||||
=========
|
||||
|
@ -35,4 +35,4 @@ Formtools
|
|||
|
||||
* `GitHub <https://github.com/django/django-formtools>`__
|
||||
* `Documentation <https://django-formtools.readthedocs.io/>`__
|
||||
* `PyPI <https://pypi.python.org/pypi/django-formtools>`__
|
||||
* `PyPI <https://pypi.org/project/django-formtools/>`__
|
||||
|
|
|
@ -421,7 +421,7 @@ Working with lazy translation objects
|
|||
The result of a ``gettext_lazy()`` call can be used wherever you would use a
|
||||
string (a :class:`str` object) in other Django code, but it may not work with
|
||||
arbitrary Python code. For example, the following won't work because the
|
||||
`requests <https://pypi.python.org/pypi/requests/>`_ library doesn't handle
|
||||
`requests <https://pypi.org/project/requests/>`_ library doesn't handle
|
||||
``gettext_lazy`` objects::
|
||||
|
||||
body = gettext_lazy("I \u2764 Django") # (unicode :heart:)
|
||||
|
|
|
@ -648,7 +648,7 @@ Python logging module.
|
|||
subclass the :class:`~django.utils.log.AdminEmailHandler` class and
|
||||
override this method.
|
||||
|
||||
.. _Sentry: https://pypi.python.org/pypi/sentry
|
||||
.. _Sentry: https://pypi.org/project/sentry/
|
||||
|
||||
Filters
|
||||
-------
|
||||
|
|
|
@ -716,4 +716,4 @@ For more options like annotated HTML listings detailing missed lines, see the
|
|||
`coverage.py`_ docs.
|
||||
|
||||
.. _coverage.py: https://coverage.readthedocs.io/
|
||||
.. _install coverage.py: https://pypi.python.org/pypi/coverage
|
||||
.. _install coverage.py: https://pypi.org/project/coverage/
|
||||
|
|
|
@ -932,7 +932,7 @@ example above is just a tiny fraction of what the Selenium client can do; check
|
|||
out the `full reference`_ for more details.
|
||||
|
||||
.. _Selenium: http://seleniumhq.org/
|
||||
.. _selenium package: https://pypi.python.org/pypi/selenium
|
||||
.. _selenium package: https://pypi.org/project/selenium/
|
||||
.. _full reference: https://selenium-python.readthedocs.io/api.html
|
||||
.. _Firefox: https://www.mozilla.com/firefox/
|
||||
|
||||
|
|
|
@ -590,7 +590,7 @@ class ImageFieldTests(SimpleTestCase):
|
|||
expected = [] if pillow_installed else [
|
||||
Error(
|
||||
'Cannot use ImageField because Pillow is not installed.',
|
||||
hint=('Get Pillow at https://pypi.python.org/pypi/Pillow '
|
||||
hint=('Get Pillow at https://pypi.org/project/Pillow/ '
|
||||
'or run command "pip install Pillow".'),
|
||||
obj=field,
|
||||
id='fields.E210',
|
||||
|
|
Loading…
Reference in New Issue