mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Fixed #811 -- Added support for IPv6 to forms and model fields. Many thanks to Erik Romijn.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16366 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
87571cdb37
commit
ce3c281090
23 changed files with 708 additions and 5 deletions
|
@ -622,6 +622,45 @@ Takes two optional arguments for validation:
|
|||
expression.
|
||||
* Error message keys: ``required``, ``invalid``
|
||||
|
||||
``GenericIPAddressField``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. class:: GenericIPAddressField(**kwargs)
|
||||
|
||||
.. versionadded:: 1.4
|
||||
|
||||
A field containing either an IPv4 or an IPv6 address.
|
||||
|
||||
* Default widget: ``TextInput``
|
||||
* Empty value: ``''`` (an empty string)
|
||||
* Normalizes to: A Unicode object. IPv6 addresses are
|
||||
normalized as described below.
|
||||
* Validates that the given value is a valid IP address.
|
||||
* Error message keys: ``required``, ``invalid``
|
||||
|
||||
The IPv6 address normalization follows `RFC4291 section 2.2`_, including using
|
||||
the IPv4 format suggested in paragraph 3 of that section, like
|
||||
``::ffff:192.0.2.0``. For example, ``2001:0::0:01`` would be normalized to
|
||||
``2001::1``, and ``::ffff:0a0a:0a0a`` to ``::ffff:10.10.10.10``. All
|
||||
characters are converted to lowercase.
|
||||
|
||||
.. _RFC4291 section 2.2: http://tools.ietf.org/html/rfc4291#section-2.2
|
||||
|
||||
Takes two optional arguments:
|
||||
|
||||
.. attribute:: GenericIPAddressField.protocol
|
||||
|
||||
Limits valid inputs to the specified protocol.
|
||||
Accepted values are ``both`` (default), ``IPv4``
|
||||
or ``IPv6``. Matching is case insensitive.
|
||||
|
||||
.. attribute:: GenericIPAddressField.unpack_ipv4
|
||||
|
||||
Unpacks IPv4 mapped addresses like ``::ffff::192.0.2.1``.
|
||||
If this option is enabled that address would be unpacked to
|
||||
``192.0.2.1``. Default is disabled. Can only be used
|
||||
when ``protocol`` is set to ``'both'``.
|
||||
|
||||
``MultipleChoiceField``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue