summaryrefslogtreecommitdiff
path: root/docs/topics
diff options
context:
space:
mode:
Diffstat (limited to 'docs/topics')
-rw-r--r--docs/topics/auth.txt13
-rw-r--r--docs/topics/cache.txt22
-rw-r--r--docs/topics/class-based-views/generic-display.txt5
-rw-r--r--docs/topics/class-based-views/index.txt2
-rw-r--r--docs/topics/class-based-views/mixins.txt2
-rw-r--r--docs/topics/db/queries.txt3
-rw-r--r--docs/topics/db/sql.txt9
-rw-r--r--docs/topics/db/transactions.txt5
-rw-r--r--docs/topics/email.txt5
-rw-r--r--docs/topics/forms/formsets.txt16
-rw-r--r--docs/topics/forms/media.txt2
-rw-r--r--docs/topics/http/middleware.txt2
-rw-r--r--docs/topics/http/shortcuts.txt2
-rw-r--r--docs/topics/http/urls.txt7
-rw-r--r--docs/topics/i18n/formatting.txt6
-rw-r--r--docs/topics/i18n/translation.txt15
-rw-r--r--docs/topics/logging.txt2
-rw-r--r--docs/topics/signals.txt4
-rw-r--r--docs/topics/testing.txt16
19 files changed, 5 insertions, 133 deletions
diff --git a/docs/topics/auth.txt b/docs/topics/auth.txt
index ef03d5479c..88372af149 100644
--- a/docs/topics/auth.txt
+++ b/docs/topics/auth.txt
@@ -860,8 +860,6 @@ How to log a user out
Login and logout signals
------------------------
-.. versionadded:: 1.3
-
The auth framework uses two :doc:`signals </topics/signals>` that can be used
for notification when a user logs in or out.
@@ -960,8 +958,6 @@ The login_required decorator
context variable which stores the redirect path will use the value of
``redirect_field_name`` as its key rather than ``"next"`` (the default).
- .. versionadded:: 1.3
-
:func:`~django.contrib.auth.decorators.login_required` also takes an
optional ``login_url`` parameter. Example::
@@ -1189,9 +1185,6 @@ includes a few other useful built-in views located in
that can be used to reset the password, and sending that link to the
user's registered email address.
- .. versionchanged:: 1.3
- The ``from_email`` argument was added.
-
.. versionchanged:: 1.4
Users flagged with an unusable password (see
:meth:`~django.contrib.auth.models.User.set_unusable_password()`
@@ -1672,10 +1665,6 @@ The currently logged-in user's permissions are stored in the template variable
:class:`django.contrib.auth.context_processors.PermWrapper`, which is a
template-friendly proxy of permissions.
-.. versionchanged:: 1.3
- Prior to version 1.3, ``PermWrapper`` was located in
- ``django.core.context_processors``.
-
In the ``{{ perms }}`` object, single-attribute lookup is a proxy to
:meth:`User.has_module_perms <django.contrib.auth.models.User.has_module_perms>`.
This example would display ``True`` if the logged-in user had any permissions
@@ -1951,8 +1940,6 @@ for example, to control anonymous access.
Authorization for inactive users
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. versionchanged:: 1.3
-
An inactive user is a one that is authenticated but has its attribute
``is_active`` set to ``False``. However this does not mean they are not
authorized to do anything. For example they are allowed to activate their
diff --git a/docs/topics/cache.txt b/docs/topics/cache.txt
index f13238e342..77d2de7fe0 100644
--- a/docs/topics/cache.txt
+++ b/docs/topics/cache.txt
@@ -51,13 +51,6 @@ Your cache preference goes in the :setting:`CACHES` setting in your
settings file. Here's an explanation of all available values for
:setting:`CACHES`.
-.. versionchanged:: 1.3
- The settings used to configure caching changed in Django 1.3. In
- Django 1.2 and earlier, you used a single string-based
- :setting:`CACHE_BACKEND` setting to configure caches. This has
- been replaced with the new dictionary-based :setting:`CACHES`
- setting.
-
.. _memcached:
Memcached
@@ -83,9 +76,6 @@ two most common are `python-memcached`_ and `pylibmc`_.
.. _`python-memcached`: ftp://ftp.tummy.com/pub/python-memcached/
.. _`pylibmc`: http://sendapatch.se/projects/pylibmc/
-.. versionchanged:: 1.3
- Support for ``pylibmc`` was added.
-
To use Memcached with Django:
* Set :setting:`BACKEND <CACHES-BACKEND>` to
@@ -785,8 +775,6 @@ nonexistent cache key.::
Cache key prefixing
-------------------
-.. versionadded:: 1.3
-
If you are sharing a cache instance between servers, or between your
production and development environments, it's possible for data cached
by one server to be used by another server. If the format of cached
@@ -807,8 +795,6 @@ collisions in cache values.
Cache versioning
----------------
-.. versionadded:: 1.3
-
When you change running code that uses cached values, you may need to
purge any existing cached values. The easiest way to do this is to
flush the entire cache, but this can lead to the loss of cache values
@@ -856,8 +842,6 @@ keys unaffected. Continuing our previous example::
Cache key transformation
------------------------
-.. versionadded:: 1.3
-
As described in the previous two sections, the cache key provided by a
user is not used verbatim -- it is combined with the cache prefix and
key version to provide a final cache key. By default, the three parts
@@ -878,8 +862,6 @@ be used instead of the default key combining function.
Cache key warnings
------------------
-.. versionadded:: 1.3
-
Memcached, the most commonly-used production cache backend, does not allow
cache keys longer than 250 characters or containing whitespace or control
characters, and using such keys will cause an exception. To encourage
@@ -966,10 +948,6 @@ mechanism should take into account when building its cache key. For example, if
the contents of a Web page depend on a user's language preference, the page is
said to "vary on language."
-.. versionchanged:: 1.3
- In Django 1.3 the full request path -- including the query -- is used
- to create the cache keys, instead of only the path component in Django 1.2.
-
By default, Django's cache system creates its cache keys using the requested
path and query -- e.g., ``"/stories/2005/?order_by=author"``. This means every
request to that URL will use the same cached version, regardless of user-agent
diff --git a/docs/topics/class-based-views/generic-display.txt b/docs/topics/class-based-views/generic-display.txt
index 0d4cb6244d..10279c0f63 100644
--- a/docs/topics/class-based-views/generic-display.txt
+++ b/docs/topics/class-based-views/generic-display.txt
@@ -4,11 +4,6 @@
Class-based generic views
=========================
-.. note::
- Prior to Django 1.3, generic views were implemented as functions. The
- function-based implementation has been removed in favor of the
- class-based approach described here.
-
Writing Web applications can be monotonous, because we repeat certain patterns
again and again. Django tries to take away some of that monotony at the model
and template layers, but Web developers also experience this boredom at the view
diff --git a/docs/topics/class-based-views/index.txt b/docs/topics/class-based-views/index.txt
index 2d3e00ab4c..a738221892 100644
--- a/docs/topics/class-based-views/index.txt
+++ b/docs/topics/class-based-views/index.txt
@@ -2,8 +2,6 @@
Class-based views
=================
-.. versionadded:: 1.3
-
A view is a callable which takes a request and returns a
response. This can be more than just a function, and Django provides
an example of some classes which can be used as views. These allow you
diff --git a/docs/topics/class-based-views/mixins.txt b/docs/topics/class-based-views/mixins.txt
index f07769fb8a..f349c23626 100644
--- a/docs/topics/class-based-views/mixins.txt
+++ b/docs/topics/class-based-views/mixins.txt
@@ -2,8 +2,6 @@
Using mixins with class-based views
===================================
-.. versionadded:: 1.3
-
.. caution::
This is an advanced topic. A working knowledge of :doc:`Django's
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index 5385b2a72d..dd160656c7 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -633,8 +633,6 @@ issue the query::
>>> Entry.objects.filter(authors__name=F('blog__name'))
-.. versionadded:: 1.3
-
For date and date/time fields, you can add or subtract a
:class:`~datetime.timedelta` object. The following would return all entries
that were modified more than 3 days after they were published::
@@ -876,7 +874,6 @@ it. For example::
# This will delete the Blog and all of its Entry objects.
b.delete()
-.. versionadded:: 1.3
This cascade behavior is customizable via the
:attr:`~django.db.models.ForeignKey.on_delete` argument to the
:class:`~django.db.models.ForeignKey`.
diff --git a/docs/topics/db/sql.txt b/docs/topics/db/sql.txt
index 19daffd464..310dcb5ae6 100644
--- a/docs/topics/db/sql.txt
+++ b/docs/topics/db/sql.txt
@@ -242,7 +242,7 @@ By default, the Python DB API will return results without their field
names, which means you end up with a ``list`` of values, rather than a
``dict``. At a small performance cost, you can return results as a
``dict`` by using something like this::
-
+
def dictfetchall(cursor):
"Returns all rows from a cursor as a dict"
desc = cursor.description
@@ -256,7 +256,7 @@ Here is an example of the difference between the two::
>>> cursor.execute("SELECT id, parent_id from test LIMIT 2");
>>> cursor.fetchall()
((54360982L, None), (54360880L, None))
-
+
>>> cursor.execute("SELECT id, parent_id from test LIMIT 2");
>>> dictfetchall(cursor)
[{'parent_id': None, 'id': 54360982L}, {'parent_id': None, 'id': 54360880L}]
@@ -273,11 +273,6 @@ transaction containing those calls is closed correctly. See :ref:`the
notes on the requirements of Django's transaction handling
<topics-db-transactions-requirements>` for more details.
-.. versionchanged:: 1.3
-
-Prior to Django 1.3, it was necessary to manually mark a transaction
-as dirty using ``transaction.set_dirty()`` when using raw SQL calls.
-
Connections and cursors
-----------------------
diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt
index 9928354664..4a52c5af35 100644
--- a/docs/topics/db/transactions.txt
+++ b/docs/topics/db/transactions.txt
@@ -66,9 +66,6 @@ database cursor (which is mapped to its own database connection internally).
Controlling transaction management in views
===========================================
-.. versionchanged:: 1.3
- Transaction management context managers are new in Django 1.3.
-
For most people, implicit request-based transactions work wonderfully. However,
if you need more fine-grained control over how transactions are managed, you can
use a set of functions in ``django.db.transaction`` to control transactions on a
@@ -195,8 +192,6 @@ managers, too.
Requirements for transaction handling
=====================================
-.. versionadded:: 1.3
-
Django requires that every transaction that is opened is closed before
the completion of a request. If you are using :func:`autocommit` (the
default commit mode) or :func:`commit_on_success`, this will be done
diff --git a/docs/topics/email.txt b/docs/topics/email.txt
index 0cc476e02c..b3d7254e7f 100644
--- a/docs/topics/email.txt
+++ b/docs/topics/email.txt
@@ -119,8 +119,6 @@ The "From:" header of the email will be the value of the
This method exists for convenience and readability.
-.. versionchanged:: 1.3
-
If ``html_message`` is provided, the resulting email will be a
:mimetype:`multipart/alternative` email with ``message`` as the
:mimetype:`text/plain` content type and ``html_message`` as the
@@ -236,9 +234,6 @@ following parameters (in the given order, if positional arguments are used).
All parameters are optional and can be set at any time prior to calling the
``send()`` method.
-.. versionchanged:: 1.3
- The ``cc`` argument was added.
-
* ``subject``: The subject line of the email.
* ``body``: The body text. This should be a plain text message.
diff --git a/docs/topics/forms/formsets.txt b/docs/topics/forms/formsets.txt
index 2a83172e17..7c1771b758 100644
--- a/docs/topics/forms/formsets.txt
+++ b/docs/topics/forms/formsets.txt
@@ -35,19 +35,9 @@ display two blank forms::
>>> ArticleFormSet = formset_factory(ArticleForm, extra=2)
-.. versionchanged:: 1.3
-
-Prior to Django 1.3, formset instances were not iterable. To render
-the formset you iterated over the ``forms`` attribute::
-
- >>> formset = ArticleFormSet()
- >>> for form in formset.forms:
- ... print(form.as_table())
-
-Iterating over ``formset.forms`` will render the forms in the order
-they were created. The default formset iterator also renders the forms
-in this order, but you can change this order by providing an alternate
-implementation for the :meth:`__iter__()` method.
+Iterating over the ``formset`` will render the forms in the order they were
+created. You can change this order by providing an alternate implementation for
+the :meth:`__iter__()` method.
Formsets can also be indexed into, which returns the corresponding form. If you
override ``__iter__``, you will need to also override ``__getitem__`` to have
diff --git a/docs/topics/forms/media.txt b/docs/topics/forms/media.txt
index 29a7829799..98e70e5e77 100644
--- a/docs/topics/forms/media.txt
+++ b/docs/topics/forms/media.txt
@@ -195,8 +195,6 @@ return values for dynamic media properties.
Paths in media definitions
--------------------------
-.. versionchanged:: 1.3
-
Paths used to specify media can be either relative or absolute. If a path
starts with ``/``, ``http://`` or ``https://``, it will be interpreted as an
absolute path, and left as-is. All other paths will be prepended with the value
diff --git a/docs/topics/http/middleware.txt b/docs/topics/http/middleware.txt
index fe92bc59a9..a8347e52a0 100644
--- a/docs/topics/http/middleware.txt
+++ b/docs/topics/http/middleware.txt
@@ -117,8 +117,6 @@ middleware is always called on every response.
``process_template_response``
-----------------------------
-.. versionadded:: 1.3
-
.. method:: process_template_response(self, request, response)
``request`` is an :class:`~django.http.HttpRequest` object. ``response`` is a
diff --git a/docs/topics/http/shortcuts.txt b/docs/topics/http/shortcuts.txt
index 10be353e80..0dc38b1459 100644
--- a/docs/topics/http/shortcuts.txt
+++ b/docs/topics/http/shortcuts.txt
@@ -17,8 +17,6 @@ introduce controlled coupling for convenience's sake.
.. function:: render(request, template_name[, dictionary][, context_instance][, content_type][, status][, current_app])
- .. versionadded:: 1.3
-
Combines a given template with a given context dictionary and returns an
:class:`~django.http.HttpResponse` object with that rendered text.
diff --git a/docs/topics/http/urls.txt b/docs/topics/http/urls.txt
index 69089af8e9..99afa13279 100644
--- a/docs/topics/http/urls.txt
+++ b/docs/topics/http/urls.txt
@@ -980,13 +980,6 @@ A :class:`ResolverMatch` object can also be assigned to a triple::
func, args, kwargs = resolve('/some/path/')
-.. versionchanged:: 1.3
- Triple-assignment exists for backwards-compatibility. Prior to
- Django 1.3, :func:`~django.core.urlresolvers.resolve` returned a
- triple containing (view function, arguments, keyword arguments);
- the :class:`ResolverMatch` object (as well as the namespace and pattern
- information it provides) is not available in earlier Django releases.
-
One possible use of :func:`~django.core.urlresolvers.resolve` would be to test
whether a view would raise a ``Http404`` error before redirecting to it::
diff --git a/docs/topics/i18n/formatting.txt b/docs/topics/i18n/formatting.txt
index b09164769e..fc3f37de32 100644
--- a/docs/topics/i18n/formatting.txt
+++ b/docs/topics/i18n/formatting.txt
@@ -80,8 +80,6 @@ Template tags
localize
~~~~~~~~
-.. versionadded:: 1.3
-
Enables or disables localization of template variables in the
contained block.
@@ -116,8 +114,6 @@ Template filters
localize
~~~~~~~~
-.. versionadded:: 1.3
-
Forces localization of a single value.
For example::
@@ -136,8 +132,6 @@ tag.
unlocalize
~~~~~~~~~~
-.. versionadded:: 1.3
-
Forces a single value to be printed without localization.
For example::
diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt
index a7f48fe1fd..aaf728b1af 100644
--- a/docs/topics/i18n/translation.txt
+++ b/docs/topics/i18n/translation.txt
@@ -134,8 +134,6 @@ translations wouldn't be able to reorder placeholder text.
Comments for translators
------------------------
-.. versionadded:: 1.3
-
If you would like to give translators hints about a translatable string, you
can add a comment prefixed with the ``Translators`` keyword on the line
preceding the string, e.g.::
@@ -255,8 +253,6 @@ cardinality of the elements at play.
Contextual markers
------------------
-.. versionadded:: 1.3
-
Sometimes words have several meanings, such as ``"May"`` in English, which
refers to a month name and to a verb. To enable translators to translate
these words correctly in different contexts, you can use the
@@ -436,8 +432,6 @@ Localized names of languages
.. function:: get_language_info
-.. versionadded:: 1.3
-
The ``get_language_info()`` function provides detailed information about
languages::
@@ -535,9 +529,6 @@ using the ``context`` keyword:
``blocktrans`` template tag
---------------------------
-.. versionchanged:: 1.3
- New keyword argument format.
-
Contrarily to the :ttag:`trans` tag, the ``blocktrans`` tag allows you to mark
complex sentences consisting of literals and variable content for translation
by making use of placeholders::
@@ -664,8 +655,6 @@ string, so they don't need to be aware of translations.
translator might translate the string ``"yes,no"`` as ``"ja,nein"``
(keeping the comma intact).
-.. versionadded:: 1.3
-
You can also retrieve information about any of the available languages using
provided template tags and filters. To get information about a single language,
use the ``{% get_language_info %}`` tag::
@@ -787,10 +776,6 @@ directories listed in :setting:`LOCALE_PATHS` have the highest precedence with
the ones appearing first having higher precedence than the ones appearing
later.
-.. versionchanged:: 1.3
- Directories listed in :setting:`LOCALE_PATHS` weren't included in the
- lookup algorithm until version 1.3.
-
Using the JavaScript translation catalog
----------------------------------------
diff --git a/docs/topics/logging.txt b/docs/topics/logging.txt
index 28baf87522..94236babd6 100644
--- a/docs/topics/logging.txt
+++ b/docs/topics/logging.txt
@@ -2,8 +2,6 @@
Logging
=======
-.. versionadded:: 1.3
-
.. module:: django.utils.log
:synopsis: Logging tools for Django applications
diff --git a/docs/topics/signals.txt b/docs/topics/signals.txt
index db1bcb03df..1078d0372c 100644
--- a/docs/topics/signals.txt
+++ b/docs/topics/signals.txt
@@ -132,10 +132,6 @@ Now, our ``my_callback`` function will be called each time a request finishes.
Note that ``receiver`` can also take a list of signals to connect a function
to.
-.. versionadded:: 1.3
-
-The ``receiver`` decorator was added in Django 1.3.
-
.. versionchanged:: 1.5
The ability to pass a list of signals was added.
diff --git a/docs/topics/testing.txt b/docs/topics/testing.txt
index c4c73733f5..7afdbe88cc 100644
--- a/docs/topics/testing.txt
+++ b/docs/topics/testing.txt
@@ -73,8 +73,6 @@ module defines tests in class-based approach.
.. admonition:: unittest2
- .. versionchanged:: 1.3
-
Python 2.7 introduced some major changes to the unittest library,
adding some extremely useful features. To ensure that every Django
project can benefit from these new features, Django ships with a
@@ -436,8 +434,6 @@ two databases.
Controlling creation order for test databases
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. versionadded:: 1.3
-
By default, Django will always create the ``default`` database first.
However, no guarantees are made on the creation order of any other
databases in your test setup.
@@ -1001,8 +997,6 @@ Specifically, a ``Response`` object has the following attributes:
The HTTP status of the response, as an integer. See
:rfc:`2616#section-10` for a full list of HTTP status codes.
- .. versionadded:: 1.3
-
.. attribute:: templates
A list of ``Template`` instances used to render the final content, in
@@ -1089,8 +1083,6 @@ The request factory
.. class:: RequestFactory
-.. versionadded:: 1.3
-
The :class:`~django.test.client.RequestFactory` shares the same API as
the test client. However, instead of behaving like a browser, the
RequestFactory provides a way to generate a request instance that can
@@ -1327,8 +1319,6 @@ This means, instead of instantiating a ``Client`` in each test::
Customizing the test client
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. versionadded:: 1.3
-
.. attribute:: TestCase.client_class
If you want to use a different ``Client`` class (for example, a subclass
@@ -1708,8 +1698,6 @@ your test suite.
.. method:: TestCase.assertQuerysetEqual(qs, values, transform=repr, ordered=True)
- .. versionadded:: 1.3
-
Asserts that a queryset ``qs`` returns a particular list of values ``values``.
The comparison of the contents of ``qs`` and ``values`` is performed using
@@ -1730,8 +1718,6 @@ your test suite.
.. method:: TestCase.assertNumQueries(num, func, *args, **kwargs)
- .. versionadded:: 1.3
-
Asserts that when ``func`` is called with ``*args`` and ``**kwargs`` that
``num`` database queries are executed.
@@ -1854,8 +1840,6 @@ Skipping tests
.. currentmodule:: django.test
-.. versionadded:: 1.3
-
The unittest library provides the :func:`@skipIf <unittest.skipIf>` and
:func:`@skipUnless <unittest.skipUnless>` decorators to allow you to skip tests
if you know ahead of time that those tests are going to fail under certain