Fixed #17870 -- Documented that EmailField default max_length of 75 does not comply with RFCs 3696/5321. Thanks Rotund for the report and the patch and Russell Keith-Magee for the review.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17826 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
159d1be656
commit
31e84e40f8
|
@ -890,6 +890,9 @@ class EmailField(CharField):
|
||||||
description = _("E-mail address")
|
description = _("E-mail address")
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
# max_length should be overridden to 254 characters to be fully
|
||||||
|
# compliant with RFCs 3696 and 5321
|
||||||
|
|
||||||
kwargs['max_length'] = kwargs.get('max_length', 75)
|
kwargs['max_length'] = kwargs.get('max_length', 75)
|
||||||
CharField.__init__(self, *args, **kwargs)
|
CharField.__init__(self, *args, **kwargs)
|
||||||
|
|
||||||
|
|
|
@ -481,6 +481,15 @@ The admin represents this as an ``<input type="text">`` (a single-line input).
|
||||||
|
|
||||||
A :class:`CharField` that checks that the value is a valid email address.
|
A :class:`CharField` that checks that the value is a valid email address.
|
||||||
|
|
||||||
|
.. admonition:: Incompliance to RFCs
|
||||||
|
|
||||||
|
The default 75 character ``max_length`` is not capable of storing all
|
||||||
|
possible RFC3696/5321-compliant email addresses. In order to store all
|
||||||
|
possible valid email addresses, a ``max_length`` of 254 is required.
|
||||||
|
The default ``max_length`` of 75 exists for historical reasons. The
|
||||||
|
default has not been changed in order to maintain backwards
|
||||||
|
compatibility with existing uses of :class:`EmailField`.
|
||||||
|
|
||||||
``FileField``
|
``FileField``
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue