Kaydet (Commit) b98fa241 authored tarafından Brett Cannon's avatar Brett Cannon Kaydeden (comit) Tim Graham

[2.0.x] Fixed #29334 -- Updated pypi.python.org URLs to pypi.org.

Backport of 64b74804 from master
üst 3619d322
""" """
MySQL database backend for Django. MySQL database backend for Django.
Requires mysqlclient: https://pypi.python.org/pypi/mysqlclient/ Requires mysqlclient: https://pypi.org/project/mysqlclient/
""" """
import re import re
......
...@@ -374,7 +374,7 @@ class ImageField(FileField): ...@@ -374,7 +374,7 @@ class ImageField(FileField):
return [ return [
checks.Error( checks.Error(
'Cannot use ImageField because Pillow is not installed.', '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".'), 'or run command "pip install Pillow".'),
obj=self, obj=self,
id='fields.E210', id='fields.E210',
......
"""Multi-consumer multi-producer dispatching mechanism """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. See license.txt for original license.
Heavily modified for Django's purposes. Heavily modified for Django's purposes.
......
""" """
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. 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:: ...@@ -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. 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 .. _user guide: https://www.reportlab.com/docs/reportlab-userguide.pdf
Write your view Write your view
......
...@@ -40,7 +40,7 @@ To install pip on your machine, go to ...@@ -40,7 +40,7 @@ To install pip on your machine, go to
https://pip.pypa.io/en/latest/installing/, and follow the ``Installing with https://pip.pypa.io/en/latest/installing/, and follow the ``Installing with
get-pip.py`` instructions. get-pip.py`` instructions.
.. _pip: https://pypi.python.org/pypi/pip .. _pip: https://pypi.org/project/pip/
Install ``virtualenv`` and ``virtualenvwrapper`` Install ``virtualenv`` and ``virtualenvwrapper``
================================================ ================================================
...@@ -62,8 +62,8 @@ command prompt, you'll need to activate the environment again using:: ...@@ -62,8 +62,8 @@ command prompt, you'll need to activate the environment again using::
workon myproject workon myproject
.. _virtualenv: https://pypi.python.org/pypi/virtualenv .. _virtualenv: https://pypi.org/project/virtualenv/
.. _virtualenvwrapper: https://pypi.python.org/pypi/virtualenvwrapper-win .. _virtualenvwrapper: https://pypi.org/project/virtualenvwrapper-win/
Install Django Install Django
============== ==============
......
...@@ -332,4 +332,4 @@ For details about the JavaScript code style used by Django, see ...@@ -332,4 +332,4 @@ For details about the JavaScript code style used by Django, see
:doc:`javascript`. :doc:`javascript`.
.. _editorconfig: http://editorconfig.org/ .. _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>`. ...@@ -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 Each of these dependencies is optional. If you're missing any of them, the
associated tests will be skipped. associated tests will be skipped.
.. _argon2-cffi: https://pypi.python.org/pypi/argon2_cffi .. _argon2-cffi: https://pypi.org/project/argon2_cffi/
.. _bcrypt: https://pypi.python.org/pypi/bcrypt .. _bcrypt: https://pypi.org/project/bcrypt/
.. _docutils: https://pypi.python.org/pypi/docutils .. _docutils: https://pypi.org/project/docutils/
.. _geoip2: https://pypi.python.org/pypi/geoip2 .. _geoip2: https://pypi.org/project/geoip2/
.. _jinja2: https://pypi.python.org/pypi/jinja2 .. _jinja2: https://pypi.org/project/jinja2/
.. _numpy: https://pypi.python.org/pypi/numpy .. _numpy: https://pypi.org/project/numpy/
.. _Pillow: https://pypi.python.org/pypi/Pillow/ .. _Pillow: https://pypi.org/project/Pillow/
.. _PyYAML: https://pyyaml.org/wiki/PyYAML .. _PyYAML: https://pyyaml.org/wiki/PyYAML
.. _pytz: https://pypi.python.org/pypi/pytz/ .. _pytz: https://pypi.org/project/pytz/
.. _setuptools: https://pypi.python.org/pypi/setuptools/ .. _setuptools: https://pypi.org/project/setuptools/
.. _memcached: https://memcached.org/ .. _memcached: https://memcached.org/
.. _gettext: https://www.gnu.org/software/gettext/manual/gettext.html .. _gettext: https://www.gnu.org/software/gettext/manual/gettext.html
.. _selenium: https://pypi.python.org/pypi/selenium .. _selenium: https://pypi.org/project/selenium/
.. _sqlparse: https://pypi.python.org/pypi/sqlparse .. _sqlparse: https://pypi.org/project/sqlparse/
.. _pip requirements files: https://pip.pypa.io/en/latest/user_guide/#requirements-files .. _pip requirements files: https://pip.pypa.io/en/latest/user_guide/#requirements-files
Code coverage Code coverage
......
...@@ -424,11 +424,11 @@ Spelling check ...@@ -424,11 +424,11 @@ Spelling check
Before you commit your docs, it's a good idea to run the spelling checker. Before you commit your docs, it's a good idea to run the spelling checker.
You'll need to install a couple packages first: 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/>`_) `enchant <https://www.abisource.com/projects/enchant/>`_)
* `sphinxcontrib-spelling * `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) 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 along with the file and line number where they occur will be saved to
......
...@@ -617,9 +617,6 @@ details on these changes. ...@@ -617,9 +617,6 @@ details on these changes.
* Support for the Python Imaging Library (PIL) module will be removed, as it * 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. 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: * 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: ...@@ -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 This just tests that the tarballs are available (i.e. redirects are up) and
that they install correctly, but it'll catch silly mistakes. 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 #. 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://www.djangoproject.com/m/pgp/Django-1.5b1.checksum.txt)
......
...@@ -132,7 +132,7 @@ On the day of disclosure, we will take the following steps: ...@@ -132,7 +132,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 4. Post a notice to the |django-announce| and oss-security@lists.openwall.com
mailing lists that links to the blog post. 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/ .. _the official Django development blog: https://www.djangoproject.com/weblog/
If a reported issue is believed to be particularly time-sensitive -- 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 ...@@ -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? could save some of this repeated work?
Reusability is the way of life in Python. `The Python Package Index (PyPI) 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 <https://pypi.org/>`_ has a vast range of packages you can use in your own
your own Python programs. Check out `Django Packages Python programs. Check out `Django Packages <https://djangopackages.org>`_ for
<https://djangopackages.org>`_ for existing reusable apps you could incorporate existing reusable apps you could incorporate in your project. Django itself is
in your project. Django itself is also just a Python package. This means that also just a Python package. This means that you can take existing Python
you can take existing Python packages or Django apps and compose them into your packages or Django apps and compose them into your own web project. You only
own web project. You only need to write the parts that make your project unique. 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 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 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 ...@@ -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`` Django with pip<installing-official-release>`. You can install ``setuptools``
the same way. the same way.
.. _setuptools: https://pypi.python.org/pypi/setuptools .. _setuptools: https://pypi.org/project/setuptools/
.. _pip: https://pypi.python.org/pypi/pip .. _pip: https://pypi.org/project/pip/
Packaging your app Packaging your app
================== ==================
...@@ -288,8 +288,6 @@ working. We'll now fix this by installing our new ``django-polls`` package. ...@@ -288,8 +288,6 @@ working. We'll now fix this by installing our new ``django-polls`` package.
pip uninstall django-polls pip uninstall django-polls
.. _pip: https://pypi.python.org/pypi/pip
Publishing your app Publishing your app
=================== ===================
......
...@@ -18,7 +18,7 @@ Additionally, it is recommended to install the `libmaxminddb C library`__, so ...@@ -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. that ``geoip2`` can leverage the C library's faster speed.
__ https://geoip2.readthedocs.io/ __ https://geoip2.readthedocs.io/
__ https://pypi.python.org/pypi/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
......
...@@ -343,7 +343,7 @@ MySQL has a couple drivers that implement the Python Database API described in ...@@ -343,7 +343,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 require the MySQL client library or any Python modules outside the standard
library. library.
.. _mysqlclient: https://pypi.python.org/pypi/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.
...@@ -943,7 +943,7 @@ unofficial backends, along with any support queries, should be directed to ...@@ -943,7 +943,7 @@ unofficial backends, along with any support queries, should be directed to
the support channels provided by each 3rd party project. the support channels provided by each 3rd party project.
.. _SAP SQL Anywhere: https://github.com/sqlanywhere/sqlany-django .. _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/ .. _Microsoft SQL Server: https://django-mssql.readthedocs.io/en/latest/
.. _Firebird: https://github.com/maxirobaina/django-firebird .. _Firebird: https://github.com/maxirobaina/django-firebird
.. _ODBC: https://github.com/lionheart/django-pyodbc/ .. _ODBC: https://github.com/lionheart/django-pyodbc/
...@@ -851,7 +851,7 @@ second). This offers better scaling to large projects, reduction in response ...@@ -851,7 +851,7 @@ second). This offers better scaling to large projects, reduction in response
time to code modification, more robust change detection, and battery usage time to code modification, more robust change detection, and battery usage
reduction. 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 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 server is running, the system check framework will check your entire Django
......
...@@ -279,7 +279,7 @@ be removed (elided) when :ref:`squashing migrations <migration-squashing>`. ...@@ -279,7 +279,7 @@ be removed (elided) when :ref:`squashing migrations <migration-squashing>`.
want the operation not to do anything in the given direction. This is want the operation not to do anything in the given direction. This is
especially useful in making the operation reversible. especially useful in making the operation reversible.
.. _sqlparse: https://pypi.python.org/pypi/sqlparse .. _sqlparse: https://pypi.org/project/sqlparse/
``RunPython`` ``RunPython``
------------- -------------
......
...@@ -672,7 +672,7 @@ escaping HTML. ...@@ -672,7 +672,7 @@ escaping HTML.
the return value will be ``"Joel is a slug"``. the return value will be ``"Joel is a slug"``.
If you are looking for a more robust solution, take a look at the `bleach 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() .. function:: html_safe()
......
...@@ -576,7 +576,7 @@ It's automatically installed along with Django. ...@@ -576,7 +576,7 @@ It's automatically installed along with Django.
Support for ``settings.TIME_ZONE = None`` is removed as the behavior isn't 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 commonly used and is questionably useful. If you want to automatically detect
the timezone based on the system timezone, you can use `tzlocal 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 from tzlocal import get_localzone
......
...@@ -133,7 +133,7 @@ wherever you would have historically used:: ...@@ -133,7 +133,7 @@ wherever you would have historically used::
If you want to continue to use the base unittest library, you can -- 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. 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 Transaction context managers
---------------------------- ----------------------------
......
...@@ -261,8 +261,8 @@ Minor features ...@@ -261,8 +261,8 @@ Minor features
`PIL`_ is pending deprecation (support to be removed in Django 1.8). `PIL`_ is pending deprecation (support to be removed in Django 1.8).
To upgrade, you should **first** uninstall PIL, **then** install Pillow. To upgrade, you should **first** uninstall PIL, **then** install Pillow.
.. _`Pillow`: https://pypi.python.org/pypi/Pillow .. _`Pillow`: https://pypi.org/project/Pillow/
.. _`PIL`: https://pypi.python.org/pypi/PIL .. _`PIL`: https://pypi.org/project/PIL/
* :class:`~django.forms.ModelForm` accepts several new ``Meta`` * :class:`~django.forms.ModelForm` accepts several new ``Meta``
options. options.
......
...@@ -715,7 +715,7 @@ Management Commands ...@@ -715,7 +715,7 @@ Management Commands
filesystem for changes every second. That caused a small delay before filesystem for changes every second. That caused a small delay before
reloads and reduced battery life on laptops. 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 * In addition, the development server automatically reloads when a
translation file is updated, i.e. after running translation file is updated, i.e. after running
...@@ -737,7 +737,7 @@ Management Commands ...@@ -737,7 +737,7 @@ Management Commands
:class:`~django.db.migrations.operations.RunSQL` operation of migrations, :class:`~django.db.migrations.operations.RunSQL` operation of migrations,
which benefits from the improved behavior. which benefits from the improved behavior.
.. _sqlparse: https://pypi.python.org/pypi/sqlparse .. _sqlparse: https://pypi.org/project/sqlparse/
Models Models
~~~~~~ ~~~~~~
...@@ -1202,7 +1202,7 @@ a :exc:`ValueError` when encountering them, you will have to install pytz_. You ...@@ -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 may be affected by this problem if you use Django's time zone-related date
formats or :mod:`django.contrib.syndication`. 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 ``remove()`` and ``clear()`` methods of related managers
-------------------------------------------------------- --------------------------------------------------------
......
...@@ -72,7 +72,7 @@ provides several security enhancements to the request/response cycle. The new ...@@ -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 :option:`check --deploy` option allows you to check your production settings
file for ways to increase the security of your site. 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 New PostgreSQL specific functionality
------------------------------------- -------------------------------------
...@@ -1493,7 +1493,7 @@ in Django 1.10. The functionality it provided (validating checksum using the ...@@ -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 Luhn algorithm) was undocumented and not used in Django. The module has been
moved to the `django-localflavor`_ package (version 1.1+). 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`` ``InlineAdminForm.original_content_type_id``
-------------------------------------------- --------------------------------------------
......
...@@ -40,7 +40,7 @@ invalidating caches. ...@@ -40,7 +40,7 @@ invalidating caches.
This functionality from the `django-transaction-hooks`_ package has been This functionality from the `django-transaction-hooks`_ package has been
integrated into Django. 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 Password validation
------------------- -------------------
......
...@@ -349,8 +349,8 @@ Include any other hashers that your site uses in this list. ...@@ -349,8 +349,8 @@ Include any other hashers that your site uses in this list.
.. _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://dx.doi.org/10.6028/NIST.SP.800-132
.. _bcrypt: https://en.wikipedia.org/wiki/Bcrypt .. _bcrypt: https://en.wikipedia.org/wiki/Bcrypt
.. _`bcrypt library`: https://pypi.python.org/pypi/bcrypt/ .. _`bcrypt library`: https://pypi.org/project/bcrypt/
.. _`argon2-cffi library`: https://pypi.python.org/pypi/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://password-hashing.net
......
...@@ -79,8 +79,8 @@ After installing Memcached itself, you'll need to install a Memcached ...@@ -79,8 +79,8 @@ After installing Memcached itself, you'll need to install a Memcached
binding. There are several Python Memcached bindings available; the binding. There are several Python Memcached bindings available; the
two most common are `python-memcached`_ and `pylibmc`_. two most common are `python-memcached`_ and `pylibmc`_.
.. _`python-memcached`: https://pypi.python.org/pypi/python-memcached .. _`python-memcached`: https://pypi.org/project/python-memcached/
.. _`pylibmc`: https://pypi.python.org/pypi/pylibmc .. _`pylibmc`: https://pypi.org/project/pylibmc/
To use Memcached with Django: To use Memcached with Django:
......
...@@ -14,7 +14,7 @@ and cultures. ...@@ -14,7 +14,7 @@ and cultures.
* `GitHub <https://github.com/django/django-localflavor>`__ * `GitHub <https://github.com/django/django-localflavor>`__
* `Documentation <https://django-localflavor.readthedocs.io/>`__ * `Documentation <https://django-localflavor.readthedocs.io/>`__
* `PyPI <https://pypi.python.org/pypi/django-localflavor>`__ * `PyPI <https://pypi.org/project/django-localflavor/>`__
Comments Comments
======== ========
...@@ -26,7 +26,7 @@ product like Disqus. ...@@ -26,7 +26,7 @@ product like Disqus.
* `GitHub <https://github.com/django/django-contrib-comments>`__ * `GitHub <https://github.com/django/django-contrib-comments>`__
* `Documentation <https://django-contrib-comments.readthedocs.io/>`__ * `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 Formtools
========= =========
...@@ -35,4 +35,4 @@ Formtools ...@@ -35,4 +35,4 @@ Formtools
* `GitHub <https://github.com/django/django-formtools>`__ * `GitHub <https://github.com/django/django-formtools>`__
* `Documentation <https://django-formtools.readthedocs.io/>`__ * `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 ...@@ -421,7 +421,7 @@ Working with lazy translation objects
The result of a ``gettext_lazy()`` call can be used wherever you would use a 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 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 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:: ``gettext_lazy`` objects::
body = gettext_lazy("I \u2764 Django") # (unicode :heart:) body = gettext_lazy("I \u2764 Django") # (unicode :heart:)
......
...@@ -651,7 +651,7 @@ Python logging module. ...@@ -651,7 +651,7 @@ Python logging module.
subclass the :class:`~django.utils.log.AdminEmailHandler` class and subclass the :class:`~django.utils.log.AdminEmailHandler` class and
override this method. override this method.
.. _Sentry: https://pypi.python.org/pypi/sentry .. _Sentry: https://pypi.org/project/sentry/
Filters Filters
------- -------
......
...@@ -741,4 +741,4 @@ For more options like annotated HTML listings detailing missed lines, see the ...@@ -741,4 +741,4 @@ For more options like annotated HTML listings detailing missed lines, see the
`coverage.py`_ docs. `coverage.py`_ docs.
.. _coverage.py: https://coverage.readthedocs.io/ .. _coverage.py: https://coverage.readthedocs.io/
.. _install coverage.py: https://pypi.python.org/pypi/coverage .. _install coverage.py: https://pypi.org/project/coverage/
...@@ -918,7 +918,7 @@ example above is just a tiny fraction of what the Selenium client can do; check ...@@ -918,7 +918,7 @@ 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: 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 .. _full reference: https://selenium-python.readthedocs.io/api.html
.. _Firefox: https://www.mozilla.com/firefox/ .. _Firefox: https://www.mozilla.com/firefox/
......
...@@ -524,7 +524,7 @@ class ImageFieldTests(SimpleTestCase): ...@@ -524,7 +524,7 @@ class ImageFieldTests(SimpleTestCase):
expected = [] if pillow_installed else [ expected = [] if pillow_installed else [
Error( Error(
'Cannot use ImageField because Pillow is not installed.', '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".'), 'or run command "pip install Pillow".'),
obj=field, obj=field,
id='fields.E210', id='fields.E210',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment