Go to file
Andrew Gorcester f9ab543720 Fixed #20084 -- Provided option to validate formset max_num on server.
This is provided as a new "validate_max" formset_factory option defaulting to
False, since the non-validating behavior of max_num is longstanding, and there
is certainly code relying on it. (In fact, even the Django admin relies on it
for the case where there are more existing inlines than the given max_num). It
may be that at some point we want to deprecate validate_max=False and
eventually remove the option, but this commit takes no steps in that direction.

This also fixes the DoS-prevention absolute_max enforcement so that it causes a
form validation error rather than an IndexError, and ensures that absolute_max
is always 1000 more than max_num, to prevent surprising changes in behavior
with max_num close to absolute_max.

Lastly, this commit fixes the previous inconsistency between a regular formset
and a model formset in the precedence of max_num and initial data. Previously
in a regular formset, if the provided initial data was longer than max_num, it
was truncated; in a model formset, all initial forms would be displayed
regardless of max_num. Now regular formsets are the same as model formsets; all
initial forms are displayed, even if more than max_num. (But if validate_max is
True, submitting these forms will result in a "too many forms" validation
error!) This combination of behaviors was chosen to keep the max_num validation
simple and consistent, and avoid silent data loss due to truncation of initial
data.

Thanks to Preston for discussion of the design choices.
2013-03-21 01:27:24 -07:00
.tx Removed django.contrib.localflavor. 2012-12-29 21:59:06 +01:00
django Fixed #20084 -- Provided option to validate formset max_num on server. 2013-03-21 01:27:24 -07:00
docs Fixed #20084 -- Provided option to validate formset max_num on server. 2013-03-21 01:27:24 -07:00
extras Fixed #19523 -- Improved performance of Django's bash completion 2013-01-22 13:50:10 +01:00
scripts Added a helper script for managing django translations 2013-01-01 16:17:26 +01:00
tests Fixed #20084 -- Provided option to validate formset max_num on server. 2013-03-21 01:27:24 -07:00
.gitattributes Fixed #18920 -- Added `.gitattributes` to normalize line endings in HTML templates and avoid spurious failures in the core test suite on Windows. Many thanks to manfre, Claude Paroz, Karen Tracey, MaxV and Daniel Langer for their advising and testing. 2012-11-21 10:19:00 +01:00
.gitignore Fixed #16817 - Added a guide of code coverage to contributing docs. 2012-10-11 06:11:52 -04:00
.hgignore Fixed #16817 - Added a guide of code coverage to contributing docs. 2012-10-11 06:11:52 -04:00
AUTHORS Reordered AUTHORS in last name alphabetic order 2013-03-20 10:21:40 +01:00
CONTRIBUTING.rst Discouraged filing PRs that won't be noticed. 2013-03-15 14:20:00 +01:00
INSTALL Updated installation instructions. 2012-05-15 10:08:34 +02:00
LICENSE Updated LICENSE file to acknowledge individual copyrights as well (after 2008-08-09 14:40:51 +00:00
MANIFEST.in Removed django.contrib.databrowse. 2012-12-29 21:58:12 +01:00
README.rst Fix bullet formatting for README.rst. 2012-04-28 21:20:39 +01:00
setup.cfg Fixed #18874 -- Updated new name of README.rst to auxiliary files 2012-08-29 21:25:02 +02:00
setup.py Added Python 3.2/3.3 trove classifiers in setup.py 2013-02-26 23:08:39 +01:00

README.rst

Django is a high-level Python Web framework that encourages rapid development
and clean, pragmatic design. Thanks for checking it out.

All documentation is in the "docs" directory and online at
http://docs.djangoproject.com/en/dev/. If you're just getting started, here's
how we recommend you read the docs:

* First, read docs/intro/install.txt for instructions on installing Django.

* Next, work through the tutorials in order (docs/intro/tutorial01.txt,
  docs/intro/tutorial02.txt, etc.).

* If you want to set up an actual deployment server, read
  docs/howto/deployment/index.txt for instructions.

* You'll probably want to read through the topical guides (in docs/topics)
  next; from there you can jump to the HOWTOs (in docs/howto) for specific
  problems, and check out the reference (docs/ref) for gory details.

* See docs/README for instructions on building an HTML version of the docs.

Docs are updated rigorously. If you find any problems in the docs, or think they
should be clarified in any way, please take 30 seconds to fill out a ticket
here:

http://code.djangoproject.com/newticket

To get more help:

* Join the #django channel on irc.freenode.net. Lots of helpful people hang out
  there. Read the archives at http://django-irc-logs.com/.

* Join the django-users mailing list, or read the archives, at
  http://groups.google.com/group/django-users.

To contribute to Django:

* Check out http://www.djangoproject.com/community/ for information about
  getting involved.

To run Django's test suite:

* Follow the instructions in the "Unit tests" section of
  docs/internals/contributing/writing-code/unit-tests.txt, published online at
  https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests