1
0
mirror of https://github.com/django/django.git synced 2025-07-05 10:19:20 +00:00

[gsoc2009-testing] Upstream Merge

git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/test-improvements@11293 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Kevin Kubasik 2009-07-22 13:11:55 +00:00
commit 2511eb2759
10 changed files with 153 additions and 123 deletions

View File

@ -14,6 +14,7 @@ The PRIMARY AUTHORS are (and/or have been):
* Robert Wittams
* Gary Wilson
* Brian Rosner
* Justin Bronn
* Karen Tracey
More information on the main contributors to Django can be found in

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-20 12:58+0200\n"
"POT-Creation-Date: 2009-07-17 21:59+0200\n"
"PO-Revision-Date: 2008-02-25 15:53+0100\n"
"Last-Translator: Jarek Zgoda <jarek.zgoda@gmail.com>\n"
"MIME-Version: 1.0\n"
@ -223,7 +223,7 @@ msgstr "chiński tradycyjny"
msgid "Successfully deleted %(count)d %(items)s."
msgstr "Usunięto %(count)d %(items)s."
#: contrib/admin/actions.py:67 contrib/admin/options.py:1025
#: contrib/admin/actions.py:67 contrib/admin/options.py:1027
msgid "Are you sure?"
msgstr "Jesteś pewien?"
@ -321,7 +321,7 @@ msgstr "Zmieniono %s"
#: contrib/admin/options.py:519 contrib/admin/options.py:529
#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388
#: forms/models.py:587
#: forms/models.py:600
msgid "and"
msgstr "i"
@ -344,53 +344,53 @@ msgstr "Usunięto %(name)s \"%(object)s\"."
msgid "No fields changed."
msgstr "Żadne pole nie zmienione."
#: contrib/admin/options.py:598 contrib/auth/admin.py:67
#: contrib/admin/options.py:599 contrib/auth/admin.py:67
#, python-format
msgid "The %(name)s \"%(obj)s\" was added successfully."
msgstr "%(name)s \"%(obj)s\" dodany pomyślnie."
#: contrib/admin/options.py:602 contrib/admin/options.py:635
#: contrib/admin/options.py:603 contrib/admin/options.py:636
#: contrib/auth/admin.py:75
msgid "You may edit it again below."
msgstr "Możesz ponownie edytować wpis poniżej."
#: contrib/admin/options.py:612 contrib/admin/options.py:645
#: contrib/admin/options.py:613 contrib/admin/options.py:646
#, python-format
msgid "You may add another %s below."
msgstr "Możesz dodać nowy wpis %s poniżej."
#: contrib/admin/options.py:633
#: contrib/admin/options.py:634
#, python-format
msgid "The %(name)s \"%(obj)s\" was changed successfully."
msgstr "%(name)s \"%(obj)s\" zostało pomyślnie zmienione."
#: contrib/admin/options.py:641
#: contrib/admin/options.py:642
#, python-format
msgid ""
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
msgstr ""
"%(name)s \"%(obj)s\" dodane pomyślnie. Możesz edytować ponownie wpis poniżej."
#: contrib/admin/options.py:772
#: contrib/admin/options.py:773
#, python-format
msgid "Add %s"
msgstr "Dodaj %s"
#: contrib/admin/options.py:803 contrib/admin/options.py:1003
#: contrib/admin/options.py:804 contrib/admin/options.py:1005
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Obiekt %(name)s o kluczu głównym %(key)r nie istnieje."
#: contrib/admin/options.py:860
#: contrib/admin/options.py:861
#, python-format
msgid "Change %s"
msgstr "Zmień %s"
#: contrib/admin/options.py:904
#: contrib/admin/options.py:905
msgid "Database error"
msgstr "Błąd bazy danych"
#: contrib/admin/options.py:940
#: contrib/admin/options.py:941
#, python-format
msgid "%(count)s %(name)s was changed successfully."
msgid_plural "%(count)s %(name)s were changed successfully."
@ -398,17 +398,17 @@ msgstr[0] "%(count)s %(name)s został pomyślnie zmieniony."
msgstr[1] "%(count)s %(name)s zostały pomyślnie zmienione."
msgstr[2] "%(count)s %(name)s zostało pomyślnie zmienionych."
#: contrib/admin/options.py:1018
#: contrib/admin/options.py:1020
#, python-format
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
msgstr "%(name)s \"%(obj)s\" usunięty pomyślnie."
#: contrib/admin/options.py:1054
#: contrib/admin/options.py:1057
#, python-format
msgid "Change history: %s"
msgstr "Historia zmian: %s"
#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14
#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14
#: contrib/auth/forms.py:80
msgid ""
"Please enter a correct username and password. Note that both fields are case-"
@ -417,11 +417,11 @@ msgstr ""
"Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma "
"znaczenie."
#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40
#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40
msgid "Please log in again, because your session has expired."
msgstr "Twoja sesja wygasła, zaloguj się ponownie."
#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47
#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47
msgid ""
"Looks like your browser isn't configured to accept cookies. Please enable "
"cookies, reload this page, and try again."
@ -429,27 +429,27 @@ msgstr ""
"Twoja przeglądarka nie chce akceptować ciasteczek. Zmień jej ustawienia i "
"spróbuj ponownie."
#: contrib/admin/sites.py:301 contrib/admin/sites.py:307
#: contrib/admin/sites.py:308 contrib/admin/sites.py:314
#: contrib/admin/views/decorators.py:66
msgid "Usernames cannot contain the '@' character."
msgstr "Nazwy użytkowników nie mogą zawierać znaku '@'."
#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62
#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62
#, python-format
msgid "Your e-mail address is not your username. Try '%s' instead."
msgstr "Podany adres e-mail nie jest Twoją nazwą użytkownika. Spróbuj '%s'."
#: contrib/admin/sites.py:360
#: contrib/admin/sites.py:367
msgid "Site administration"
msgstr "Administracja stroną"
#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26
#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26
#: contrib/admin/templates/registration/password_reset_complete.html:14
#: contrib/admin/views/decorators.py:20
msgid "Log in"
msgstr "Zaloguj się"
#: contrib/admin/sites.py:417
#: contrib/admin/sites.py:426
#, python-format
msgid "%s administration"
msgstr "%s - administracja"
@ -484,7 +484,7 @@ msgstr "Zmień:"
msgid "Lookup"
msgstr "Szukaj"
#: contrib/admin/widgets.py:236
#: contrib/admin/widgets.py:235
msgid "Add Another"
msgstr "Dodaj kolejny"
@ -499,7 +499,7 @@ msgstr "Niestety, żądana strona nie została znaleziona."
#: contrib/admin/templates/admin/500.html:4
#: contrib/admin/templates/admin/app_index.html:8
#: contrib/admin/templates/admin/base.html:31
#: contrib/admin/templates/admin/base.html:54
#: contrib/admin/templates/admin/change_form.html:17
#: contrib/admin/templates/admin/change_list.html:25
#: contrib/admin/templates/admin/delete_confirmation.html:6
@ -545,7 +545,7 @@ msgstr "Wykonaj wybraną akcję"
#: contrib/admin/templates/admin/actions.html:4
msgid "Go"
msgstr "Szukaj"
msgstr "Wykonaj"
#: contrib/admin/templates/admin/app_index.html:10
#: contrib/admin/templates/admin/index.html:19
@ -553,18 +553,18 @@ msgstr "Szukaj"
msgid "%(name)s"
msgstr "%(name)s"
#: contrib/admin/templates/admin/base.html:26
#: contrib/admin/templates/admin/base.html:27
msgid "Welcome,"
msgstr "Witaj,"
#: contrib/admin/templates/admin/base.html:26
#: contrib/admin/templates/admin/base.html:32
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:3
#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3
msgid "Documentation"
msgstr "Dokumentacja"
#: contrib/admin/templates/admin/base.html:26
#: contrib/admin/templates/admin/base.html:40
#: contrib/admin/templates/admin/auth/user/change_password.html:14
#: contrib/admin/templates/admin/auth/user/change_password.html:47
#: contrib/admin/templates/registration/password_change_done.html:3
@ -572,7 +572,7 @@ msgstr "Dokumentacja"
msgid "Change password"
msgstr "Zmiana hasła"
#: contrib/admin/templates/admin/base.html:26
#: contrib/admin/templates/admin/base.html:47
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:3
msgid "Log out"
@ -755,6 +755,11 @@ msgstr ""
msgid "Show all"
msgstr "Pokaż wszystko"
#: contrib/admin/templates/admin/pagination.html:11
#: contrib/admin/templates/admin/submit_line.html:3
msgid "Save"
msgstr "Zapisz"
#: contrib/admin/templates/admin/search_form.html:8
msgid "Search"
msgstr "Szukaj"
@ -772,10 +777,6 @@ msgstr[2] "%(counter)s wyników"
msgid "%(full_result_count)s total"
msgstr "%(full_result_count)s trafień"
#: contrib/admin/templates/admin/submit_line.html:3
msgid "Save"
msgstr "Zapisz"
#: contrib/admin/templates/admin/submit_line.html:5
msgid "Save as new"
msgstr "Zapisz jako nowe"
@ -999,144 +1000,145 @@ msgstr "strona"
msgid "template"
msgstr "szablon"
#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60
#: contrib/admindocs/views.py:62
#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63
#: contrib/admindocs/views.py:65
msgid "tag:"
msgstr "tag:"
#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93
#: contrib/admindocs/views.py:95
#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96
#: contrib/admindocs/views.py:98
msgid "filter:"
msgstr "filtr:"
#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157
#: contrib/admindocs/views.py:159
#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160
#: contrib/admindocs/views.py:162
msgid "view:"
msgstr "widok:"
#: contrib/admindocs/views.py:187
#: contrib/admindocs/views.py:190
#, python-format
msgid "App %r not found"
msgstr "Aplikacja %r nie została znaleziona"
#: contrib/admindocs/views.py:194
#: contrib/admindocs/views.py:197
#, python-format
msgid "Model %(model_name)r not found in app %(app_label)r"
msgstr "Model %(model_name)r nie został znaleziony w aplikacji %(app_label)r"
#: contrib/admindocs/views.py:206
#: contrib/admindocs/views.py:209
#, python-format
msgid "the related `%(app_label)s.%(data_type)s` object"
msgstr "powiązany obiekt `%(app_label)s.%(data_type)s`"
#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228
#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247
#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228
#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247
#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266
msgid "model:"
msgstr "model:"
#: contrib/admindocs/views.py:237
#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256
#, python-format
msgid "related `%(app_label)s.%(object_name)s` objects"
msgstr "powiązane obiekty `%(app_label)s.%(object_name)s`"
#: contrib/admindocs/views.py:242
#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261
#, python-format
msgid "all %s"
msgstr "wszystkie %s"
#: contrib/admindocs/views.py:247
#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266
#, python-format
msgid "number of %s"
msgstr "liczba %s"
#: contrib/admindocs/views.py:252
#: contrib/admindocs/views.py:271
#, python-format
msgid "Fields on %s objects"
msgstr "Pola obiektów %s"
#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326
#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334
#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337
#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345
#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353
#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356
msgid "Integer"
msgstr "Liczba całkowita"
#: contrib/admindocs/views.py:316
#: contrib/admindocs/views.py:335
msgid "Boolean (Either True or False)"
msgstr "Wartość logiczna (True, False - prawda lub fałsz)"
#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336
#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355
#, python-format
msgid "String (up to %(max_length)s)"
msgstr "Łańcuch (do %(max_length)s znaków)"
#: contrib/admindocs/views.py:318
#: contrib/admindocs/views.py:337
msgid "Comma-separated integers"
msgstr "Liczby całkowite rozdzielone przecinkami"
#: contrib/admindocs/views.py:319
#: contrib/admindocs/views.py:338
msgid "Date (without time)"
msgstr "Data (bez godziny)"
#: contrib/admindocs/views.py:320
#: contrib/admindocs/views.py:339
msgid "Date (with time)"
msgstr "Data (z godziną)"
#: contrib/admindocs/views.py:321
#: contrib/admindocs/views.py:340
msgid "Decimal number"
msgstr "Liczba dziesiętna"
#: contrib/admindocs/views.py:322
#: contrib/admindocs/views.py:341
msgid "E-mail address"
msgstr "Adres e-mail"
#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324
#: contrib/admindocs/views.py:327
#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343
#: contrib/admindocs/views.py:346
msgid "File path"
msgstr "Ścieżka do pliku"
#: contrib/admindocs/views.py:325
#: contrib/admindocs/views.py:344
msgid "Floating point number"
msgstr "Liczba zmiennoprzecinkowa"
#: contrib/admindocs/views.py:329 contrib/comments/models.py:60
#: contrib/admindocs/views.py:348 contrib/comments/models.py:60
msgid "IP address"
msgstr "Adres IP"
#: contrib/admindocs/views.py:331
#: contrib/admindocs/views.py:350
msgid "Boolean (Either True, False or None)"
msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)"
#: contrib/admindocs/views.py:332
#: contrib/admindocs/views.py:351
msgid "Relation to parent model"
msgstr "Relacja do modelu rodzica"
#: contrib/admindocs/views.py:333
#: contrib/admindocs/views.py:352
msgid "Phone number"
msgstr "Numer telefonu"
#: contrib/admindocs/views.py:338
#: contrib/admindocs/views.py:357
msgid "Text"
msgstr "Tekst"
#: contrib/admindocs/views.py:339
#: contrib/admindocs/views.py:358
msgid "Time"
msgstr "Czas"
#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95
#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95
#: contrib/comments/templates/comments/moderation_queue.html:37
#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7
msgid "URL"
msgstr "URL"
#: contrib/admindocs/views.py:341
#: contrib/admindocs/views.py:360
msgid "U.S. state (two uppercase letters)"
msgstr "Stan USA (dwie duże litery)"
#: contrib/admindocs/views.py:342
#: contrib/admindocs/views.py:361
msgid "XML text"
msgstr "Tekst XML"
#: contrib/admindocs/views.py:368
#: contrib/admindocs/views.py:387
#, python-format
msgid "%s does not appear to be a urlpattern object"
msgstr "%s nie jest obiektem urlpattern"
@ -3920,14 +3922,14 @@ msgstr ""
msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format."
msgstr "Proszę wpisać poprawną godzinę w formacie HH:MM[:ss[.uuuuuu]]."
#: db/models/fields/related.py:792
#: db/models/fields/related.py:816
msgid ""
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
msgstr ""
"Przytrzymaj wciśnięty klawisz \"Ctrl\" lub \"Command\" na Mac'u aby "
"zaznaczyć więcej niż jeden wybór."
#: db/models/fields/related.py:870
#: db/models/fields/related.py:894
#, python-format
msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
msgid_plural ""
@ -4051,7 +4053,7 @@ msgid "Select a valid choice. %(value)s is not one of the available choices."
msgstr ""
"Wybierz poprawną wartość. %(value)s nie jest jednym z dostępnych wyborów."
#: forms/fields.py:704 forms/fields.py:765 forms/models.py:991
#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003
msgid "Enter a list of values."
msgstr "Podaj listę wartości."
@ -4080,43 +4082,43 @@ msgstr ""
msgid "%(model_name)s with this %(field_label)s already exists."
msgstr "%(field_label)s już istnieje w %(model_name)s."
#: forms/models.py:581
#: forms/models.py:594
#, python-format
msgid "Please correct the duplicate data for %(field)s."
msgstr "Popraw zduplikowane dane w %(field)s."
#: forms/models.py:585
#: forms/models.py:598
#, python-format
msgid "Please correct the duplicate data for %(field)s, which must be unique."
msgstr "Popraw zduplikowane dane w %(field)s, które wymaga unikalności."
#: forms/models.py:591
#: forms/models.py:604
#, python-format
msgid ""
"Please correct the duplicate data for %(field_name)s which must be unique "
"for the %(lookup)s in %(date_field)s."
msgstr ""
"Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla "
"%(lookup)s w polu %(date_field)s."
"Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla %"
"(lookup)s w polu %(date_field)s."
#: forms/models.py:599
#: forms/models.py:612
msgid "Please correct the duplicate values below."
msgstr "Popraw poniższe zduplikowane wartości."
#: forms/models.py:855
#: forms/models.py:867
msgid "The inline foreign key did not match the parent instance primary key."
msgstr "Osadzony klucz obcy nie pasuje do klucza głównego obiektu rodzica."
#: forms/models.py:918
#: forms/models.py:930
msgid "Select a valid choice. That choice is not one of the available choices."
msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów."
#: forms/models.py:992
#: forms/models.py:1004
#, python-format
msgid "Select a valid choice. %s is not one of the available choices."
msgstr "Wybierz poprawną wartość. %s nie jest jednym z dostępnych wyborów."
#: forms/models.py:994
#: forms/models.py:1006
#, python-format
msgid "\"%s\" is not a valid value for a primary key."
msgstr "\"%s\" nie jest poprawną wartością klucza głównego."

View File

@ -405,7 +405,7 @@ TECHNICAL_500_TEMPLATE = """
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>{{ exception_value|escape }}<pre></td>
<td><pre>{{ exception_value|escape }}</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
@ -630,7 +630,7 @@ Exception Value: {{ exception_value|escape }}
{% else %}
<p>No FILES data</p>
{% endif %}
<h3 id="cookie-info">COOKIES</h3>
{% if request.COOKIES %}

View File

@ -202,6 +202,7 @@ The Django open-source project
* **Django over time:**
:ref:`API stability <misc-api-stability>` |
:ref:`Archive of release notes <releases-index>` | `Backwards-incompatible changes`_
:ref:`Archive of release notes <releases-index>` | `Backwards-incompatible changes`_ |
:ref:`Deprecation Timeline <internals-deprecation>`
.. _Backwards-incompatible changes: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges

View File

@ -154,6 +154,19 @@ Gary Wilson
broken windows. He's continued to do that necessary tidying up work
throughout the code base since then.
Justin Bronn
Justin Bronn is a computer scientist and attorney specializing
in legal topics related to intellectual property and spatial law.
In 2007, Justin began developing ``django.contrib.gis`` in a branch,
a.k.a. GeoDjango_, which was merged in time for Django 1.0. While
implementing GeoDjango, Justin obtained a deep knowledge of Django's
internals including the ORM, the admin, and Oracle support.
Justin lives in Houston, Texas.
.. _GeoDjango: http://geodjango.org/
Karen Tracey
Karen has a background in distributed operating systems (graduate school),
communications software (industry) and crossword puzzle construction
@ -187,16 +200,6 @@ Ian Kelly
Matt Boersma
Matt is also responsible for Django's Oracle support.
Justin Bronn
Justin Bronn is a computer scientist and third-year law student at the
University of Houston who enjoys studying legal topics related to
intellectual property and spatial law.
Justin is the primary developer of ``django.contrib.gis``, a.k.a.
GeoDjango_.
.. _GeoDjango: http://geodjango.org/
Jeremy Dunck
Jeremy the lead developer of Pegasus News, a personalized local site based
in Dallas, Texas. An early contributor to Greasemonkey and Django, he sees

View File

@ -0,0 +1,21 @@
.. _internals-deprecation:
===========================
Django Deprecation Timeline
===========================
This document outlines when various pieces of Django will be removed, following
their deprecation, as per the :ref:`Django deprecation policy
<internal-release-deprecation-policy>`
* 1.3
* ``AdminSite.root()``. This release will remove the old method for
hooking up admin URLs. This has been deprecated since the 1.1
release.
* 2.0
* ``django.views.defaults.shortcut()``. This function has been moved
to ``django.contrib.contenttypes.views.shortcut()`` as part of the
goal of removing all ``django.contrib`` references from the core
Django codebase. The old shortcut will be removed in the 2.0
release.

View File

@ -17,8 +17,9 @@ the hood".
.. toctree::
:maxdepth: 1
contributing
documentation
committers
release-process
deprecation

View File

@ -48,14 +48,16 @@ Minor releases
--------------
Minor release (1.1, 1.2, etc.) will happen roughly every six months -- see
`release process`_, below for details.
`release process`_, below for details.
.. _internal-release-deprecation-policy:
These releases will contain new features, improvements to existing features, and
such. A minor release may deprecate certain features from previous releases. If a
feature in version ``A.B`` is deprecated, it will continue to work in version
``A.B+1``. In version ``A.B+2``, use of the feature will raise a
``PendingDeprecationWarning`` but will continue to work. Version ``A.B+3`` will
remove the feature entirely.
remove the feature entirely.
So, for example, if we decided to remove a function that existed in Django 1.0:
@ -66,9 +68,9 @@ So, for example, if we decided to remove a function that existed in Django 1.0:
* Django 1.2 will contain the backwards-compatible replica, but the warning
will be promoted to a full-fledged ``DeprecationWarning``. This warning is
*loud* by default, and will likely be quite annoying.
* Django 1.3 will remove the feature outright.
Micro releases
--------------
@ -92,21 +94,21 @@ varying levels:
* The current development trunk will get new features and bug fixes
requiring major refactoring.
* All bug fixes applied to the trunk will also be applied to the last
minor release, to be released as the next micro release.
* Security fixes will be applied to the current trunk and the previous two
minor releases.
As a concrete example, consider a moment in time halfway between the release of
Django 1.3 and 1.4. At this point in time:
* Features will be added to development trunk, to be released as Django 1.4.
* Bug fixes will be applied to a ``1.3.X`` branch, and released as 1.3.1,
1.3.2, etc.
* Security releases will be applied to trunk, a ``1.3.X`` branch and a
``1.2.X`` branch. Security fixes will trigger the release of ``1.3.1``,
``1.2.1``, etc.
@ -117,7 +119,7 @@ Release process
===============
Django uses a time-based release schedule, with minor (i.e. 1.1, 1.2, etc.)
releases every six months, or more, depending on features.
releases every six months, or more, depending on features.
After each previous release (and after a suitable cooling-off period of a week
or two), the core development team will examine the landscape and announce a
@ -174,12 +176,12 @@ and an rc complete with string freeze two weeks before the end of the schedule.
Bug-fix releases
----------------
After a minor release (i.e 1.1), the previous release will go into bug-fix mode.
After a minor release (i.e 1.1), the previous release will go into bug-fix mode.
A branch will be created of the form ``branches/releases/1.0.X`` to track
bug-fixes to the previous release. When possible, bugs fixed on trunk must
*also* be fixed on the bug-fix branch; this means that commits need to cleanly
separate bug fixes from feature additions. The developer who commits a fix to
separate bug fixes from feature additions. The developer who commits a fix to
trunk will be responsible for also applying the fix to the current bug-fix
branch. Each bug-fix branch will have a maintainer who will work with the
committers to keep them honest on backporting bug fixes.
@ -193,14 +195,13 @@ development will be happening in a bunch of places:
* On trunk, development towards 1.2 proceeds with small additions, bugs
fixes, etc. being checked in daily.
* On the branch "branches/releases/1.1.X", bug fixes found in the 1.1
release are checked in as needed. At some point, this branch will be
released as "1.1.1", "1.1.2", etc.
* On the branch "branches/releases/1.0.X", security fixes are made if
needed and released as "1.0.2", "1.0.3", etc.
* On feature branches, development of major features is done. These
branches will be merged into trunk before the end of phase two.

View File

@ -465,7 +465,7 @@ Defining URL Namespaces
When you need to deploy multiple instances of a single application, it can be
helpful to be able to differentiate between instances. This is especially
important when using _`named URL patterns <naming-url-patterns>`, since
important when using :ref:`named URL patterns <naming-url-patterns>`, since
multiple instances of a single application will share named URLs. Namespaces
provide a way to tell these named URLs apart.
@ -642,7 +642,7 @@ view::
This is completely valid, but it leads to problems when you try to do reverse
URL matching (through the ``permalink()`` decorator or the :ttag:`url` template
tag. Continuing this example, if you wanted to retrieve the URL for the
tag). Continuing this example, if you wanted to retrieve the URL for the
``archive`` view, Django's reverse URL matcher would get confused, because *two*
URLpatterns point at that view.
@ -706,12 +706,12 @@ the fully qualified name into parts, and then tries the following lookup:
example, ``myapp``). This will yield a list of instances of that
application.
2. If there is a ``current`` application defined, Django finds and returns
the URL resolver for that instance. The ``current`` can be specified
as an attribute on the template context - applications that expect to
have multiple deployments should set the ``current_app`` attribute on
any ``Context`` or ``RequestContext`` that is used to render a
template.
2. If there is a *current* application defined, Django finds and returns
the URL resolver for that instance. The *current* application can be
specified as an attribute on the template context - applications that
expect to have multiple deployments should set the ``current_app``
attribute on any ``Context`` or ``RequestContext`` that is used to
render a template.
The current application can also be specified manually as an argument
to the :func:`reverse()` function.
@ -725,7 +725,7 @@ the fully qualified name into parts, and then tries the following lookup:
deployed instance of the application, whatever its instance name may be.
5. If the provided namespace doesn't match an application namespace in
step 2, Django will attempt a direct lookup of the namespace as an
step 1, Django will attempt a direct lookup of the namespace as an
instance namespace.
If there are nested namespaces, these steps are repeated for each part of the