├── .gitignore ├── Makefile ├── README ├── README.md ├── TRANSLATION_README ├── _ext ├── applyxrefs.py ├── cve_role.py ├── djangodocs.py ├── literals_to_xrefs.py └── ticket_role.py ├── _theme ├── djangodocs-epub │ ├── epub-cover.html │ ├── static │ │ ├── docicons-behindscenes.png │ │ ├── docicons-note.png │ │ ├── docicons-philosophy.png │ │ ├── docicons-warning.png │ │ └── epub.css │ └── theme.conf └── djangodocs │ ├── genindex.html │ ├── layout.html │ ├── modindex.html │ ├── search.html │ ├── static │ ├── default.css │ ├── djangodocs.css │ ├── docicons-behindscenes.png │ ├── docicons-note.png │ ├── docicons-philosophy.png │ ├── docicons-warning.png │ ├── homepage.css │ └── reset-fonts-grids.css │ └── theme.conf ├── babel.cfg ├── conf.py ├── contents.txt ├── djbook ├── __init__.py ├── _theme │ └── djbook │ │ ├── layout.html │ │ ├── static │ │ └── djbook.css │ │ └── theme.conf ├── cliff_utils.py ├── commands │ ├── __init__.py │ ├── authors.py │ ├── buildhtml.py │ ├── compilemessages.py │ ├── create.py │ ├── makemessages.py │ ├── open.py │ ├── sitemap.py │ ├── spell_statistic.py │ ├── spellcheck.py │ ├── statistic.py │ ├── translate.py │ └── update.py ├── djbook_conf.py ├── enchant │ ├── __init__.py │ ├── _enchant.py │ ├── checker │ │ ├── CmdLineChecker.py │ │ ├── GtkSpellCheckerDialog.py │ │ ├── __init__.py │ │ ├── tests.py │ │ └── wxSpellCheckerDialog.py │ ├── errors.py │ ├── pypwl.py │ ├── share │ │ └── enchant │ │ │ └── myspell │ │ │ ├── ru_RU.aff │ │ │ └── ru_RU.dic │ ├── tests.py │ ├── tokenize │ │ ├── __init__.py │ │ ├── en.py │ │ ├── ru.py │ │ └── tests.py │ └── utils.py ├── requirements.txt ├── spelling │ ├── __init__.py │ ├── builder.py │ ├── checker.py │ ├── directive.py │ └── filters.py ├── spelling_filters.py ├── spelling_ignore.txt ├── sphinx.pot └── templates │ ├── authors.html │ ├── base.html │ └── statistic.html ├── faq ├── admin.txt ├── contributing.txt ├── general.txt ├── help.txt ├── index.txt ├── install.txt ├── models.txt ├── troubleshooting.txt └── usage.txt ├── glossary.txt ├── howto ├── auth-remote-user.txt ├── custom-file-storage.txt ├── custom-lookups.txt ├── custom-management-commands.txt ├── custom-model-fields.txt ├── custom-template-tags.txt ├── deployment │ ├── checklist.txt │ ├── index.txt │ └── wsgi │ │ ├── apache-auth.txt │ │ ├── gunicorn.txt │ │ ├── index.txt │ │ ├── modwsgi.txt │ │ └── uwsgi.txt ├── error-reporting.txt ├── index.txt ├── initial-data.txt ├── jython.txt ├── legacy-databases.txt ├── outputting-csv.txt ├── outputting-pdf.txt ├── overriding-templates.txt ├── static-files │ ├── deployment.txt │ └── index.txt ├── upgrade-version.txt ├── windows.txt └── writing-migrations.txt ├── index.txt ├── internals ├── _images │ ├── djangotickets.png │ ├── triage_process.graffle │ ├── triage_process.pdf │ └── triage_process.svg ├── contributing │ ├── bugs-and-features.txt │ ├── committing-code.txt │ ├── index.txt │ ├── localizing.txt │ ├── new-contributors.txt │ ├── triaging-tickets.txt │ ├── writing-code │ │ ├── coding-style.txt │ │ ├── index.txt │ │ ├── javascript.txt │ │ ├── submitting-patches.txt │ │ ├── unit-tests.txt │ │ └── working-with-git.txt │ └── writing-documentation.txt ├── deprecation.txt ├── git.txt ├── howto-release-django.txt ├── index.txt ├── mailing-lists.txt ├── organization.txt ├── release-process.txt └── security.txt ├── intro ├── _images │ ├── admin01.png │ ├── admin02.png │ ├── admin02t.png │ ├── admin03.png │ ├── admin03t.png │ ├── admin04.png │ ├── admin04t.png │ ├── admin05.png │ ├── admin05t.png │ ├── admin06.png │ ├── admin06t.png │ ├── admin07.png │ ├── admin08.png │ ├── admin08t.png │ ├── admin09.png │ ├── admin10.png │ ├── admin10t.png │ ├── admin11.png │ ├── admin11t.png │ ├── admin12.png │ ├── admin12t.png │ ├── admin13.png │ ├── admin13t.png │ ├── admin14.png │ ├── admin14t.png │ └── admin15t.png ├── contributing.txt ├── index.txt ├── install.txt ├── overview.txt ├── reusable-apps.txt ├── tutorial01.txt ├── tutorial02.txt ├── tutorial03.txt ├── tutorial04.txt ├── tutorial05.txt ├── tutorial06.txt ├── tutorial07.txt └── whatsnext.txt ├── locale └── ru │ └── LC_MESSAGES │ ├── contents.po │ ├── faq │ ├── admin.po │ ├── contributing.po │ ├── general.po │ ├── help.po │ ├── index.po │ ├── install.po │ ├── models.po │ ├── troubleshooting.po │ └── usage.po │ ├── glossary.po │ ├── howto │ ├── auth-remote-user.po │ ├── custom-file-storage.po │ ├── custom-lookups.po │ ├── custom-management-commands.po │ ├── custom-model-fields.po │ ├── custom-template-tags.po │ ├── deployment │ │ ├── checklist.po │ │ ├── index.po │ │ └── wsgi │ │ │ ├── apache-auth.po │ │ │ ├── gunicorn.po │ │ │ ├── index.po │ │ │ ├── modwsgi.po │ │ │ └── uwsgi.po │ ├── error-reporting.po │ ├── index.po │ ├── initial-data.po │ ├── jython.po │ ├── legacy-databases.po │ ├── outputting-csv.po │ ├── outputting-pdf.po │ ├── overriding-templates.po │ ├── static-files │ │ ├── deployment.po │ │ └── index.po │ ├── upgrade-version.po │ ├── windows.po │ └── writing-migrations.po │ ├── index.po │ ├── internals │ ├── contributing │ │ ├── bugs-and-features.po │ │ ├── committing-code.po │ │ ├── index.po │ │ ├── localizing.po │ │ ├── new-contributors.po │ │ ├── triaging-tickets.po │ │ ├── writing-code │ │ │ ├── coding-style.po │ │ │ ├── index.po │ │ │ ├── javascript.po │ │ │ ├── submitting-patches.po │ │ │ ├── unit-tests.po │ │ │ └── working-with-git.po │ │ └── writing-documentation.po │ ├── deprecation.po │ ├── git.po │ ├── howto-release-django.po │ ├── index.po │ ├── mailing-lists.po │ ├── organization.po │ ├── release-process.po │ └── security.po │ ├── intro │ ├── contributing.po │ ├── index.po │ ├── install.po │ ├── overview.po │ ├── reusable-apps.po │ ├── tutorial01.po │ ├── tutorial02.po │ ├── tutorial03.po │ ├── tutorial04.po │ ├── tutorial05.po │ ├── tutorial06.po │ ├── tutorial07.po │ └── whatsnext.po │ ├── misc │ ├── api-stability.po │ ├── design-philosophies.po │ ├── distributions.po │ └── index.po │ ├── ref │ ├── applications.po │ ├── checks.po │ ├── class-based-views │ │ ├── base.po │ │ ├── flattened-index.po │ │ ├── generic-date-based.po │ │ ├── generic-display.po │ │ ├── generic-editing.po │ │ ├── index.po │ │ ├── mixins-date-based.po │ │ ├── mixins-editing.po │ │ ├── mixins-multiple-object.po │ │ ├── mixins-simple.po │ │ ├── mixins-single-object.po │ │ └── mixins.po │ ├── clickjacking.po │ ├── contrib │ │ ├── admin │ │ │ ├── actions.po │ │ │ ├── admindocs.po │ │ │ ├── index.po │ │ │ └── javascript.po │ │ ├── auth.po │ │ ├── contenttypes.po │ │ ├── flatpages.po │ │ ├── gis │ │ │ ├── admin.po │ │ │ ├── commands.po │ │ │ ├── db-api.po │ │ │ ├── deployment.po │ │ │ ├── feeds.po │ │ │ ├── forms-api.po │ │ │ ├── functions.po │ │ │ ├── gdal.po │ │ │ ├── geoip2.po │ │ │ ├── geoquerysets.po │ │ │ ├── geos.po │ │ │ ├── index.po │ │ │ ├── install │ │ │ │ ├── geolibs.po │ │ │ │ ├── index.po │ │ │ │ ├── postgis.po │ │ │ │ └── spatialite.po │ │ │ ├── layermapping.po │ │ │ ├── measure.po │ │ │ ├── model-api.po │ │ │ ├── ogrinspect.po │ │ │ ├── serializers.po │ │ │ ├── sitemaps.po │ │ │ ├── testing.po │ │ │ ├── tutorial.po │ │ │ └── utils.po │ │ ├── humanize.po │ │ ├── index.po │ │ ├── messages.po │ │ ├── postgres │ │ │ ├── aggregates.po │ │ │ ├── fields.po │ │ │ ├── forms.po │ │ │ ├── functions.po │ │ │ ├── index.po │ │ │ ├── indexes.po │ │ │ ├── lookups.po │ │ │ ├── operations.po │ │ │ ├── search.po │ │ │ └── validators.po │ │ ├── redirects.po │ │ ├── sitemaps.po │ │ ├── sites.po │ │ ├── staticfiles.po │ │ └── syndication.po │ ├── csrf.po │ ├── databases.po │ ├── django-admin.po │ ├── exceptions.po │ ├── files │ │ ├── file.po │ │ ├── index.po │ │ ├── storage.po │ │ └── uploads.po │ ├── forms │ │ ├── api.po │ │ ├── fields.po │ │ ├── formsets.po │ │ ├── index.po │ │ ├── models.po │ │ ├── renderers.po │ │ ├── validation.po │ │ └── widgets.po │ ├── index.po │ ├── middleware.po │ ├── migration-operations.po │ ├── models │ │ ├── class.po │ │ ├── conditional-expressions.po │ │ ├── database-functions.po │ │ ├── expressions.po │ │ ├── fields.po │ │ ├── index.po │ │ ├── indexes.po │ │ ├── instances.po │ │ ├── lookups.po │ │ ├── meta.po │ │ ├── options.po │ │ ├── querysets.po │ │ └── relations.po │ ├── request-response.po │ ├── schema-editor.po │ ├── settings.po │ ├── signals.po │ ├── template-response.po │ ├── templates │ │ ├── api.po │ │ ├── builtins.po │ │ ├── index.po │ │ └── language.po │ ├── unicode.po │ ├── urlresolvers.po │ ├── urls.po │ ├── utils.po │ ├── validators.po │ └── views.po │ ├── releases │ ├── 0.95.po │ ├── 0.96.po │ ├── 1.0-porting-guide.po │ ├── 1.0.1.po │ ├── 1.0.2.po │ ├── 1.0.po │ ├── 1.1.2.po │ ├── 1.1.3.po │ ├── 1.1.4.po │ ├── 1.1.po │ ├── 1.10.1.po │ ├── 1.10.2.po │ ├── 1.10.3.po │ ├── 1.10.4.po │ ├── 1.10.5.po │ ├── 1.10.6.po │ ├── 1.10.7.po │ ├── 1.10.8.po │ ├── 1.10.po │ ├── 1.11.1.po │ ├── 1.11.2.po │ ├── 1.11.3.po │ ├── 1.11.4.po │ ├── 1.11.5.po │ ├── 1.11.6.po │ ├── 1.11.7.po │ ├── 1.11.8.po │ ├── 1.11.po │ ├── 1.2.1.po │ ├── 1.2.2.po │ ├── 1.2.3.po │ ├── 1.2.4.po │ ├── 1.2.5.po │ ├── 1.2.6.po │ ├── 1.2.7.po │ ├── 1.2.po │ ├── 1.3.1.po │ ├── 1.3.2.po │ ├── 1.3.3.po │ ├── 1.3.4.po │ ├── 1.3.5.po │ ├── 1.3.6.po │ ├── 1.3.7.po │ ├── 1.3.po │ ├── 1.4.1.po │ ├── 1.4.10.po │ ├── 1.4.11.po │ ├── 1.4.12.po │ ├── 1.4.13.po │ ├── 1.4.14.po │ ├── 1.4.15.po │ ├── 1.4.16.po │ ├── 1.4.17.po │ ├── 1.4.18.po │ ├── 1.4.19.po │ ├── 1.4.2.po │ ├── 1.4.20.po │ ├── 1.4.21.po │ ├── 1.4.22.po │ ├── 1.4.3.po │ ├── 1.4.4.po │ ├── 1.4.5.po │ ├── 1.4.6.po │ ├── 1.4.7.po │ ├── 1.4.8.po │ ├── 1.4.9.po │ ├── 1.4.po │ ├── 1.5.1.po │ ├── 1.5.10.po │ ├── 1.5.11.po │ ├── 1.5.12.po │ ├── 1.5.2.po │ ├── 1.5.3.po │ ├── 1.5.4.po │ ├── 1.5.5.po │ ├── 1.5.6.po │ ├── 1.5.7.po │ ├── 1.5.8.po │ ├── 1.5.9.po │ ├── 1.5.po │ ├── 1.6.1.po │ ├── 1.6.10.po │ ├── 1.6.11.po │ ├── 1.6.2.po │ ├── 1.6.3.po │ ├── 1.6.4.po │ ├── 1.6.5.po │ ├── 1.6.6.po │ ├── 1.6.7.po │ ├── 1.6.8.po │ ├── 1.6.9.po │ ├── 1.6.po │ ├── 1.7.1.po │ ├── 1.7.10.po │ ├── 1.7.11.po │ ├── 1.7.2.po │ ├── 1.7.3.po │ ├── 1.7.4.po │ ├── 1.7.5.po │ ├── 1.7.6.po │ ├── 1.7.7.po │ ├── 1.7.8.po │ ├── 1.7.9.po │ ├── 1.7.po │ ├── 1.8.1.po │ ├── 1.8.10.po │ ├── 1.8.11.po │ ├── 1.8.12.po │ ├── 1.8.13.po │ ├── 1.8.14.po │ ├── 1.8.15.po │ ├── 1.8.16.po │ ├── 1.8.17.po │ ├── 1.8.18.po │ ├── 1.8.2.po │ ├── 1.8.3.po │ ├── 1.8.4.po │ ├── 1.8.5.po │ ├── 1.8.6.po │ ├── 1.8.7.po │ ├── 1.8.8.po │ ├── 1.8.9.po │ ├── 1.8.po │ ├── 1.9.1.po │ ├── 1.9.10.po │ ├── 1.9.11.po │ ├── 1.9.12.po │ ├── 1.9.13.po │ ├── 1.9.2.po │ ├── 1.9.3.po │ ├── 1.9.4.po │ ├── 1.9.5.po │ ├── 1.9.6.po │ ├── 1.9.7.po │ ├── 1.9.8.po │ ├── 1.9.9.po │ ├── 1.9.po │ ├── 2.0.po │ ├── index.po │ └── security.po │ └── topics │ ├── auth │ ├── customizing.po │ ├── default.po │ ├── index.po │ └── passwords.po │ ├── cache.po │ ├── checks.po │ ├── class-based-views │ ├── generic-display.po │ ├── generic-editing.po │ ├── index.po │ ├── intro.po │ └── mixins.po │ ├── conditional-view-processing.po │ ├── db │ ├── aggregation.po │ ├── examples │ │ ├── index.po │ │ ├── many_to_many.po │ │ ├── many_to_one.po │ │ └── one_to_one.po │ ├── index.po │ ├── instrumentation.po │ ├── managers.po │ ├── models.po │ ├── multi-db.po │ ├── optimization.po │ ├── queries.po │ ├── search.po │ ├── sql.po │ ├── tablespaces.po │ └── transactions.po │ ├── email.po │ ├── external-packages.po │ ├── files.po │ ├── forms │ ├── formsets.po │ ├── index.po │ ├── media.po │ └── modelforms.po │ ├── http │ ├── decorators.po │ ├── file-uploads.po │ ├── generic-views.po │ ├── index.po │ ├── middleware.po │ ├── sessions.po │ ├── shortcuts.po │ ├── urls.po │ └── views.po │ ├── i18n │ ├── formatting.po │ ├── index.po │ ├── timezones.po │ └── translation.po │ ├── index.po │ ├── install.po │ ├── logging.po │ ├── migrations.po │ ├── pagination.po │ ├── performance.po │ ├── security.po │ ├── serialization.po │ ├── settings.po │ ├── signals.po │ ├── signing.po │ ├── templates.po │ └── testing │ ├── advanced.po │ ├── index.po │ ├── overview.po │ └── tools.po ├── make.bat ├── man ├── daily_cleanup.1 ├── django-admin.1 └── gather_profile_stats.1 ├── misc ├── api-stability.txt ├── design-philosophies.txt ├── distributions.txt └── index.txt ├── obsolete └── _images │ ├── formrow.png │ ├── module.png │ ├── objecttools_01.png │ └── objecttools_02.png ├── ref ├── applications.txt ├── checks.txt ├── class-based-views │ ├── base.txt │ ├── flattened-index.txt │ ├── generic-date-based.txt │ ├── generic-display.txt │ ├── generic-editing.txt │ ├── index.txt │ ├── mixins-date-based.txt │ ├── mixins-editing.txt │ ├── mixins-multiple-object.txt │ ├── mixins-simple.txt │ ├── mixins-single-object.txt │ └── mixins.txt ├── clickjacking.txt ├── contrib │ ├── admin │ │ ├── _images │ │ │ ├── actions-as-modeladmin-methods.png │ │ │ ├── adding-actions-to-the-modeladmin.png │ │ │ ├── admin-actions.png │ │ │ ├── article_actions.png │ │ │ ├── article_actions_message.png │ │ │ ├── fieldsets.png │ │ │ ├── flatfiles_admin.png │ │ │ ├── list_filter.png │ │ │ ├── raw_id_fields.png │ │ │ ├── user_actions.png │ │ │ └── users_changelist.png │ │ ├── actions.txt │ │ ├── admindocs.txt │ │ ├── index.txt │ │ └── javascript.txt │ ├── auth.txt │ ├── contenttypes.txt │ ├── flatpages.txt │ ├── gis │ │ ├── admin.txt │ │ ├── commands.txt │ │ ├── create_template_postgis-1.3.sh │ │ ├── create_template_postgis-1.4.sh │ │ ├── create_template_postgis-1.5.sh │ │ ├── create_template_postgis-debian.sh │ │ ├── db-api.txt │ │ ├── deployment.txt │ │ ├── feeds.txt │ │ ├── forms-api.txt │ │ ├── functions.txt │ │ ├── gdal.txt │ │ ├── geodjango_setup.bat │ │ ├── geoip2.txt │ │ ├── geoquerysets.txt │ │ ├── geos.txt │ │ ├── index.txt │ │ ├── install │ │ │ ├── create_template_postgis-1.3.sh │ │ │ ├── create_template_postgis-1.4.sh │ │ │ ├── create_template_postgis-1.5.sh │ │ │ ├── create_template_postgis-debian.sh │ │ │ ├── geodjango_setup.bat │ │ │ ├── geolibs.txt │ │ │ ├── index.txt │ │ │ ├── postgis.txt │ │ │ └── spatialite.txt │ │ ├── layermapping.txt │ │ ├── measure.txt │ │ ├── model-api.txt │ │ ├── ogrinspect.txt │ │ ├── serializers.txt │ │ ├── sitemaps.txt │ │ ├── testing.txt │ │ ├── tutorial.txt │ │ └── utils.txt │ ├── humanize.txt │ ├── index.txt │ ├── messages.txt │ ├── postgres │ │ ├── aggregates.txt │ │ ├── fields.txt │ │ ├── forms.txt │ │ ├── functions.txt │ │ ├── index.txt │ │ ├── indexes.txt │ │ ├── lookups.txt │ │ ├── operations.txt │ │ ├── search.txt │ │ └── validators.txt │ ├── redirects.txt │ ├── sitemaps.txt │ ├── sites.txt │ ├── staticfiles.txt │ └── syndication.txt ├── csrf.txt ├── databases.txt ├── django-admin.txt ├── exceptions.txt ├── files │ ├── file.txt │ ├── index.txt │ ├── storage.txt │ └── uploads.txt ├── forms │ ├── api.txt │ ├── fields.txt │ ├── formsets.txt │ ├── index.txt │ ├── models.txt │ ├── renderers.txt │ ├── validation.txt │ └── widgets.txt ├── index.txt ├── middleware.txt ├── migration-operations.txt ├── models │ ├── class.txt │ ├── conditional-expressions.txt │ ├── database-functions.txt │ ├── expressions.txt │ ├── fields.txt │ ├── index.txt │ ├── indexes.txt │ ├── instances.txt │ ├── lookups.txt │ ├── meta.txt │ ├── options.txt │ ├── querysets.txt │ └── relations.txt ├── request-response.txt ├── schema-editor.txt ├── settings.txt ├── signals.txt ├── template-response.txt ├── templates │ ├── api.txt │ ├── builtins.txt │ ├── index.txt │ └── language.txt ├── unicode.txt ├── urlresolvers.txt ├── urls.txt ├── utils.txt ├── validators.txt └── views.txt ├── releases ├── 0.95.txt ├── 0.96.txt ├── 1.0-porting-guide.txt ├── 1.0.1.txt ├── 1.0.2.txt ├── 1.0.txt ├── 1.1.2.txt ├── 1.1.3.txt ├── 1.1.4.txt ├── 1.1.txt ├── 1.10.1.txt ├── 1.10.2.txt ├── 1.10.3.txt ├── 1.10.4.txt ├── 1.10.5.txt ├── 1.10.6.txt ├── 1.10.7.txt ├── 1.10.8.txt ├── 1.10.txt ├── 1.11.1.txt ├── 1.11.2.txt ├── 1.11.3.txt ├── 1.11.4.txt ├── 1.11.5.txt ├── 1.11.6.txt ├── 1.11.7.txt ├── 1.11.8.txt ├── 1.11.txt ├── 1.2.1.txt ├── 1.2.2.txt ├── 1.2.3.txt ├── 1.2.4.txt ├── 1.2.5.txt ├── 1.2.6.txt ├── 1.2.7.txt ├── 1.2.txt ├── 1.3.1.txt ├── 1.3.2.txt ├── 1.3.3.txt ├── 1.3.4.txt ├── 1.3.5.txt ├── 1.3.6.txt ├── 1.3.7.txt ├── 1.3.txt ├── 1.4.1.txt ├── 1.4.10.txt ├── 1.4.11.txt ├── 1.4.12.txt ├── 1.4.13.txt ├── 1.4.14.txt ├── 1.4.15.txt ├── 1.4.16.txt ├── 1.4.17.txt ├── 1.4.18.txt ├── 1.4.19.txt ├── 1.4.2.txt ├── 1.4.20.txt ├── 1.4.21.txt ├── 1.4.22.txt ├── 1.4.3.txt ├── 1.4.4.txt ├── 1.4.5.txt ├── 1.4.6.txt ├── 1.4.7.txt ├── 1.4.8.txt ├── 1.4.9.txt ├── 1.4.txt ├── 1.5.1.txt ├── 1.5.10.txt ├── 1.5.11.txt ├── 1.5.12.txt ├── 1.5.2.txt ├── 1.5.3.txt ├── 1.5.4.txt ├── 1.5.5.txt ├── 1.5.6.txt ├── 1.5.7.txt ├── 1.5.8.txt ├── 1.5.9.txt ├── 1.5.txt ├── 1.6.1.txt ├── 1.6.10.txt ├── 1.6.11.txt ├── 1.6.2.txt ├── 1.6.3.txt ├── 1.6.4.txt ├── 1.6.5.txt ├── 1.6.6.txt ├── 1.6.7.txt ├── 1.6.8.txt ├── 1.6.9.txt ├── 1.6.txt ├── 1.7.1.txt ├── 1.7.10.txt ├── 1.7.11.txt ├── 1.7.2.txt ├── 1.7.3.txt ├── 1.7.4.txt ├── 1.7.5.txt ├── 1.7.6.txt ├── 1.7.7.txt ├── 1.7.8.txt ├── 1.7.9.txt ├── 1.7.txt ├── 1.8.1.txt ├── 1.8.10.txt ├── 1.8.11.txt ├── 1.8.12.txt ├── 1.8.13.txt ├── 1.8.14.txt ├── 1.8.15.txt ├── 1.8.16.txt ├── 1.8.17.txt ├── 1.8.18.txt ├── 1.8.2.txt ├── 1.8.3.txt ├── 1.8.4.txt ├── 1.8.5.txt ├── 1.8.6.txt ├── 1.8.7.txt ├── 1.8.8.txt ├── 1.8.9.txt ├── 1.8.txt ├── 1.9.1.txt ├── 1.9.10.txt ├── 1.9.11.txt ├── 1.9.12.txt ├── 1.9.13.txt ├── 1.9.2.txt ├── 1.9.3.txt ├── 1.9.4.txt ├── 1.9.5.txt ├── 1.9.6.txt ├── 1.9.7.txt ├── 1.9.8.txt ├── 1.9.9.txt ├── 1.9.txt ├── 2.0.txt ├── index.txt └── security.txt ├── spelling_wordlist ├── topics ├── _images │ ├── django_unittest_classes_hierarchy.png │ ├── postmortem.png │ └── template-lines.png ├── auth │ ├── customizing.txt │ ├── default.txt │ ├── index.txt │ └── passwords.txt ├── cache.txt ├── checks.txt ├── class-based-views │ ├── generic-display.txt │ ├── generic-editing.txt │ ├── index.txt │ ├── intro.txt │ └── mixins.txt ├── conditional-view-processing.txt ├── db │ ├── aggregation.txt │ ├── examples │ │ ├── index.txt │ │ ├── many_to_many.txt │ │ ├── many_to_one.txt │ │ └── one_to_one.txt │ ├── index.txt │ ├── instrumentation.txt │ ├── managers.txt │ ├── models.txt │ ├── multi-db.txt │ ├── optimization.txt │ ├── queries.txt │ ├── search.txt │ ├── sql.txt │ ├── tablespaces.txt │ └── transactions.txt ├── email.txt ├── external-packages.txt ├── files.txt ├── forms │ ├── formsets.txt │ ├── index.txt │ ├── media.txt │ └── modelforms.txt ├── http │ ├── _images │ │ ├── middleware.graffle │ │ ├── middleware.pdf │ │ ├── middleware.png │ │ └── middleware.svg │ ├── decorators.txt │ ├── file-uploads.txt │ ├── generic-views.txt │ ├── index.txt │ ├── middleware.txt │ ├── sessions.txt │ ├── shortcuts.txt │ ├── urls.txt │ └── views.txt ├── i18n │ ├── formatting.txt │ ├── index.txt │ ├── timezones.txt │ └── translation.txt ├── index.txt ├── install.txt ├── logging.txt ├── migrations.txt ├── pagination.txt ├── performance.txt ├── security.txt ├── serialization.txt ├── settings.txt ├── signals.txt ├── signing.txt ├── templates.txt └── testing │ ├── _images │ ├── django_unittest_classes_hierarchy.graffle │ ├── django_unittest_classes_hierarchy.pdf │ ├── django_unittest_classes_hierarchy.png │ └── django_unittest_classes_hierarchy.svg │ ├── advanced.txt │ ├── index.txt │ ├── overview.txt │ └── tools.txt └── translator.py /.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | *.mo 3 | *.pyc 4 | *.po~ 5 | env/ 6 | *.sublime-* 7 | *.log 8 | .github.auth 9 | .emacs.* -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | The documentation in this tree is in plain text files and can be viewed using 2 | any text file viewer. 3 | 4 | It uses ReST (reStructuredText) [1], and the Sphinx documentation system [2]. 5 | This allows it to be built into other forms for easier viewing and browsing. 6 | 7 | To create an HTML version of the docs: 8 | 9 | * Install Sphinx (using ``pip install Sphinx`` or some other method) 10 | 11 | * In this docs/ directory, type ``make html`` (or ``make.bat html`` on 12 | Windows) at a shell prompt. 13 | 14 | The documentation in _build/html/index.html can then be viewed in a web browser. 15 | 16 | [1] http://docutils.sourceforge.net/rst.html 17 | [2] http://sphinx-doc.org/ 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Русская версия документации Django 2 | ================================== 3 | 4 | Последнюю версию можно найти на http://djbook.ru/rel1.8/ 5 | 6 | 7 | Как помочь с переводом? 8 | ======================= 9 | 10 | [Гайд](https://github.com/Alerion/django_documentation/wiki/%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C-%D1%81-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%BE%D0%BC%3F) 11 | 12 | 13 | Как собрать документацию? 14 | ========================= 15 | 16 | Для сборки документации выполните: 17 | 18 | $ ./translator.py create 19 | 20 | Необходимые пакеты можно установить запустив: 21 | 22 | $ pip install -r djbook/requirements.txt 23 | 24 | Список всех команад: 25 | 26 | $ ./translator.py --help 27 | 28 | Проверка орфографии: 29 | 30 | $ ./translator.py spellcheck 31 | -------------------------------------------------------------------------------- /_ext/cve_role.py: -------------------------------------------------------------------------------- 1 | """ 2 | An interpreted text role to link docs to CVE issues. To use: :cve:`XXXXX` 3 | """ 4 | from docutils import nodes, utils 5 | from docutils.parsers.rst import roles 6 | 7 | 8 | def cve_role(name, rawtext, text, lineno, inliner, options=None, content=None): 9 | if options is None: 10 | options = {} 11 | 12 | url_pattern = inliner.document.settings.env.app.config.cve_url 13 | if url_pattern is None: 14 | msg = inliner.reporter.warning("cve not configured: please configure cve_url in conf.py") 15 | prb = inliner.problematic(rawtext, rawtext, msg) 16 | return [prb], [msg] 17 | 18 | url = url_pattern % text 19 | roles.set_classes(options) 20 | node = nodes.reference(rawtext, utils.unescape('CVE-%s' % text), refuri=url, **options) 21 | return [node], [] 22 | 23 | 24 | def setup(app): 25 | app.add_config_value('cve_url', None, 'env') 26 | app.add_role('cve', cve_role) 27 | return {'parallel_read_safe': True} 28 | -------------------------------------------------------------------------------- /_ext/ticket_role.py: -------------------------------------------------------------------------------- 1 | """ 2 | An interpreted text role to link docs to Trac tickets. 3 | 4 | To use: :ticket:`XXXXX` 5 | 6 | Based on code from psycopg2 by Daniele Varrazzo. 7 | """ 8 | from docutils import nodes, utils 9 | from docutils.parsers.rst import roles 10 | 11 | 12 | def ticket_role(name, rawtext, text, lineno, inliner, options=None, content=None): 13 | if options is None: 14 | options = {} 15 | try: 16 | num = int(text.replace('#', '')) 17 | except ValueError: 18 | msg = inliner.reporter.error( 19 | "ticket number must be... a number, got '%s'" % text) 20 | prb = inliner.problematic(rawtext, rawtext, msg) 21 | return [prb], [msg] 22 | 23 | url_pattern = inliner.document.settings.env.app.config.ticket_url 24 | if url_pattern is None: 25 | msg = inliner.reporter.warning( 26 | "ticket not configured: please configure ticket_url in conf.py") 27 | prb = inliner.problematic(rawtext, rawtext, msg) 28 | return [prb], [msg] 29 | 30 | url = url_pattern % num 31 | roles.set_classes(options) 32 | node = nodes.reference(rawtext, '#' + utils.unescape(text), refuri=url, **options) 33 | return [node], [] 34 | 35 | 36 | def setup(app): 37 | app.add_config_value('ticket_url', None, 'env') 38 | app.add_role('ticket', ticket_role) 39 | return {'parallel_read_safe': True} 40 | -------------------------------------------------------------------------------- /_theme/djangodocs-epub/epub-cover.html: -------------------------------------------------------------------------------- 1 | {%- extends "epub/epub-cover.html" %} 2 | 3 | {% block content %} 4 |
5 |

Django Documentation

6 |

Release {{ release }}

7 |

{{ copyright }}

8 |

{{ last_updated }}

9 |
10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /_theme/djangodocs-epub/static/docicons-behindscenes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs-epub/static/docicons-behindscenes.png -------------------------------------------------------------------------------- /_theme/djangodocs-epub/static/docicons-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs-epub/static/docicons-note.png -------------------------------------------------------------------------------- /_theme/djangodocs-epub/static/docicons-philosophy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs-epub/static/docicons-philosophy.png -------------------------------------------------------------------------------- /_theme/djangodocs-epub/static/docicons-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs-epub/static/docicons-warning.png -------------------------------------------------------------------------------- /_theme/djangodocs-epub/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = epub 3 | stylesheet = epub.css 4 | pygments_style = trac 5 | 6 | [options] 7 | relbar1 = false 8 | footer = false 9 | -------------------------------------------------------------------------------- /_theme/djangodocs/genindex.html: -------------------------------------------------------------------------------- 1 | {% extends "basic/genindex.html" %} 2 | 3 | {% block bodyclass %}{% endblock %} 4 | {% block sidebarwrapper %}{% endblock %} 5 | -------------------------------------------------------------------------------- /_theme/djangodocs/modindex.html: -------------------------------------------------------------------------------- 1 | {% extends "basic/modindex.html" %} 2 | {% block bodyclass %}{% endblock %} 3 | {% block sidebarwrapper %}{% endblock %} 4 | -------------------------------------------------------------------------------- /_theme/djangodocs/search.html: -------------------------------------------------------------------------------- 1 | {% extends "basic/search.html" %} 2 | {% block bodyclass %}{% endblock %} 3 | {% block sidebarwrapper %}{% endblock %} 4 | -------------------------------------------------------------------------------- /_theme/djangodocs/static/default.css: -------------------------------------------------------------------------------- 1 | @import url(reset-fonts-grids.css); 2 | @import url(djangodocs.css); 3 | @import url(homepage.css); 4 | -------------------------------------------------------------------------------- /_theme/djangodocs/static/docicons-behindscenes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs/static/docicons-behindscenes.png -------------------------------------------------------------------------------- /_theme/djangodocs/static/docicons-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs/static/docicons-note.png -------------------------------------------------------------------------------- /_theme/djangodocs/static/docicons-philosophy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs/static/docicons-philosophy.png -------------------------------------------------------------------------------- /_theme/djangodocs/static/docicons-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/_theme/djangodocs/static/docicons-warning.png -------------------------------------------------------------------------------- /_theme/djangodocs/static/homepage.css: -------------------------------------------------------------------------------- 1 | #index p.rubric { font-size:150%; font-weight:normal; margin-bottom:.2em; color:#487858; } 2 | 3 | #index div.section dt { font-weight: normal; } 4 | 5 | #index #s-getting-help { float: right; width: 35em; background: #E1ECE2; padding: 1em; margin: 2em 0 2em 2em; } 6 | #index #s-getting-help h2 { margin: 0; } 7 | 8 | #index #s-django-documentation div.section div.section h3 { margin: 0; } 9 | #index #s-django-documentation div.section div.section { background: #E1ECE2; padding: 1em; margin: 2em 0 2em 40.3em; } 10 | #index #s-django-documentation div.section div.section a.reference { white-space: nowrap; } 11 | 12 | #index #s-using-django dl, 13 | #index #s-add-on-contrib-applications dl, 14 | #index #s-solving-specific-problems dl, 15 | #index #s-reference dl 16 | { float: left; width: 41em; } 17 | 18 | #index #s-add-on-contrib-applications, 19 | #index #s-solving-specific-problems, 20 | #index #s-reference, 21 | #index #s-and-all-the-rest 22 | { clear: left; } 23 | -------------------------------------------------------------------------------- /_theme/djangodocs/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = default.css 4 | pygments_style = trac 5 | -------------------------------------------------------------------------------- /babel.cfg: -------------------------------------------------------------------------------- 1 | # How setup this file 2 | # http://babel.edgewall.org/wiki/Documentation/setup.html 3 | # this file description: 4 | # http://babel.edgewall.org/wiki/Documentation/messages.html#extraction-method-mapping-and-configuration 5 | 6 | # Extraction from Python source files 7 | [python: **.py] 8 | encoding = utf-8 9 | -------------------------------------------------------------------------------- /contents.txt: -------------------------------------------------------------------------------- 1 | ============================= 2 | Django documentation contents 3 | ============================= 4 | 5 | .. toctree:: 6 | :hidden: 7 | 8 | index 9 | 10 | .. toctree:: 11 | :maxdepth: 3 12 | 13 | intro/index 14 | topics/index 15 | howto/index 16 | faq/index 17 | ref/index 18 | misc/index 19 | glossary 20 | releases/index 21 | internals/index 22 | 23 | Indices, glossary and tables 24 | ============================ 25 | 26 | * :ref:`genindex` 27 | * :ref:`modindex` 28 | * :doc:`glossary` 29 | -------------------------------------------------------------------------------- /djbook/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/djbook/__init__.py -------------------------------------------------------------------------------- /djbook/_theme/djbook/static/djbook.css: -------------------------------------------------------------------------------- 1 | @import url(default.css); 2 | 3 | body { 4 | background: #f8f8f8; 5 | color: #356635; 6 | } 7 | 8 | #hd h1 a { 9 | color: #356635; 10 | } 11 | 12 | #bd { 13 | background: #87af77; 14 | border: solid #87af77; 15 | } 16 | 17 | a:link, a:visited { 18 | color: #0c3907; 19 | } 20 | 21 | #bd #sidebar a:link, #bd #sidebar a:visited { 22 | color: #0c3907; 23 | } 24 | 25 | #global-nav:hover, #global-nav:hover a:link, #global-nav:hover a:visited { 26 | color: #487858; 27 | } 28 | 29 | #sidebar div.sphinxsidebarwrapper { 30 | color: #fff; 31 | } 32 | 33 | #bd #sidebar a:hover { 34 | color: #fff; 35 | } 36 | 37 | #bd a.reference:hover { 38 | color: #487858; 39 | background-color: initial; 40 | } 41 | -------------------------------------------------------------------------------- /djbook/_theme/djbook/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = djangodocs 3 | stylesheet = djbook.css 4 | -------------------------------------------------------------------------------- /djbook/cliff_utils.py: -------------------------------------------------------------------------------- 1 | import getpass 2 | from github import Github 3 | 4 | 5 | class GithubCommandMixin(object): 6 | PASS_CHACHE_FILE = '.github.auth' 7 | 8 | def get_github(self): 9 | if not hasattr(self, '_github'): 10 | github_username, github_password = None, None 11 | 12 | try: 13 | with open(GithubCommandMixin.PASS_CHACHE_FILE) as f: 14 | data = f.read() 15 | if data: 16 | github_username, github_password = data.split('\n') 17 | except IOError: 18 | pass 19 | 20 | if not github_username or not github_password: 21 | print('We need authenticate your in Github for Search API.') 22 | github_username = input('Github username: ') 23 | github_password = getpass.getpass('Github password: ') 24 | 25 | with open(GithubCommandMixin.PASS_CHACHE_FILE, 'w') as f: 26 | f.write(github_username) 27 | f.write('\n') 28 | f.write(github_password) 29 | print('WARNING! Your Github password is saved in %s' % GithubCommandMixin.PASS_CHACHE_FILE) 30 | 31 | self._github = Github(github_username, github_password) 32 | 33 | return self._github 34 | 35 | def get_repo(self, repo_name): 36 | return self.get_github().get_repo(repo_name) 37 | 38 | def get_tag(self, repo, tag_name): 39 | for tag in repo.get_tags(): 40 | if tag.name == tag_name: 41 | return tag 42 | -------------------------------------------------------------------------------- /djbook/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/djbook/commands/__init__.py -------------------------------------------------------------------------------- /djbook/commands/authors.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | 4 | from cliff.command import Command as BaseCommand 5 | from jinja2 import Environment, FileSystemLoader 6 | from github import GithubException 7 | 8 | from djbook.cliff_utils import GithubCommandMixin 9 | 10 | 11 | class Command(GithubCommandMixin, BaseCommand): 12 | """ 13 | Generate page with authors from git history 14 | """ 15 | log = logging.getLogger(__name__) 16 | 17 | def take_action(self, parsed_args): 18 | repo = self.get_repo(self.app.repo_name) 19 | 20 | try: 21 | self.save_to_file({ 22 | 'contributors': repo.get_contributors() 23 | }) 24 | except GithubException as e: 25 | print(e) 26 | 27 | def save_to_file(self, context): 28 | env = Environment(loader=FileSystemLoader(self.app.templates_path)) 29 | template_name = 'authors.html' 30 | template = env.get_template(template_name) 31 | with open(os.path.join(self.app.doc_path, '_build', 'html', template_name), 'w') as output: 32 | output.write(template.render(**context).encode('utf8')) 33 | -------------------------------------------------------------------------------- /djbook/commands/buildhtml.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | import shutil 4 | from cliff.command import Command as BaseCommand 5 | 6 | 7 | class Command(BaseCommand): 8 | """ 9 | Generate HTML documentation with Sphinx 10 | """ 11 | log = logging.getLogger(__name__) 12 | 13 | def take_action(self, parsed_args): 14 | doctrees_path = os.path.join(self.app.doc_path, '_build/doctrees') 15 | 16 | #for root, dirs, files in os.walk(self.app.html_path): 17 | # for f in files: 18 | # os.unlink(os.path.join(root, f)) 19 | # for d in dirs: 20 | # shutil.rmtree(os.path.join(root, d)) 21 | 22 | cmd = 'sphinx-build -E -b djangohtml -d %s %s %s' 23 | os.system(cmd % (doctrees_path, self.app.doc_path, self.app.html_path)) 24 | self.app.stdout.write('You can find generated documentation here: %s\n' % self.app.html_path) 25 | -------------------------------------------------------------------------------- /djbook/commands/compilemessages.py: -------------------------------------------------------------------------------- 1 | from cliff.command import Command as BaseCommand 2 | import logging 3 | import os 4 | 5 | 6 | class Command(BaseCommand): 7 | """ 8 | Compile .po files to .mo. 9 | """ 10 | log = logging.getLogger(__name__) 11 | 12 | def take_action(self, parsed_args): 13 | for path, dirs, files in os.walk(self.app.locale_path): 14 | for f in files: 15 | if f.endswith('.po'): 16 | po_path = os.path.join(path, f) 17 | mo_path = po_path[:-2] + 'mo' 18 | os.system('msgfmt %s -o %s' % (po_path, mo_path)) 19 | 20 | self.app.stdout.write('.mo files compiled!\n') 21 | -------------------------------------------------------------------------------- /djbook/commands/create.py: -------------------------------------------------------------------------------- 1 | from cliff.command import Command as BaseCommand 2 | import logging 3 | import os 4 | 5 | 6 | class Command(BaseCommand): 7 | """ 8 | Update translation and generate HTML documentation 9 | """ 10 | log = logging.getLogger(__name__) 11 | 12 | def take_action(self, parsed_args): 13 | self.app.run_subcommand(['compilemessages']) 14 | self.app.run_subcommand(['buildhtml']) 15 | self.app.run_subcommand(['statistic']) 16 | self.app.run_subcommand(['sitemap']) 17 | -------------------------------------------------------------------------------- /djbook/commands/open.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import webbrowser 3 | 4 | from cliff.command import Command as BaseCommand 5 | 6 | 7 | class Command(BaseCommand): 8 | """ 9 | Open documentation in a browser 10 | """ 11 | log = logging.getLogger(__name__) 12 | 13 | def take_action(self, parsed_args): 14 | webbrowser.open('%s/index.html' % self.app.html_path) 15 | -------------------------------------------------------------------------------- /djbook/commands/sitemap.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | 4 | from cliff.command import Command as BaseCommand 5 | 6 | 7 | class Command(BaseCommand): 8 | """ 9 | Generate sitemap.xml 10 | """ 11 | log = logging.getLogger(__name__) 12 | 13 | def take_action(self, parsed_args): 14 | prefix_len = len(self.app.html_path) + 1 15 | priorty = self.app.sitemap_priority 16 | base_url = self.app.sitemap_base_url 17 | changefreq = 'weekly' 18 | 19 | output = [] 20 | output.append(u'') 21 | 22 | for path, dirs, files in os.walk(self.app.html_path): 23 | for f in files: 24 | if f.endswith('.html'): 25 | url = base_url + os.path.join(path, f)[prefix_len:] 26 | output.append( 27 | '%s%s%s' 28 | % (url, priorty, changefreq) 29 | ) 30 | 31 | output.append(u'') 32 | 33 | content = u''.join(output) 34 | 35 | file = open(os.path.join(self.app.html_path, 'sitemap.xml'), 'w') 36 | file.write(content) 37 | file.close() 38 | -------------------------------------------------------------------------------- /djbook/commands/spell_statistic.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | import logging 3 | import os 4 | 5 | from cliff.command import Command as BaseCommand 6 | 7 | 8 | class Command(BaseCommand): 9 | """ 10 | [for development purpose] 11 | """ 12 | log = logging.getLogger(__name__) 13 | 14 | def take_action(self, parsed_args): 15 | spelling_path = os.path.join(self.app.doc_path, '_build/spelling/output.txt') 16 | stats = {} 17 | with open(spelling_path) as f: 18 | for row in f: 19 | word = row[:-1] 20 | 21 | if word in stats: 22 | stats[word] += 1 23 | else: 24 | stats[word] = 1 25 | 26 | stats = stats.items() 27 | stats = sorted(stats, key=lambda item: item[1], reverse=True) 28 | 29 | for word, count in stats: 30 | if count > 1: 31 | self.app.stdout.write('%s - %s\n' % (word, count)) 32 | -------------------------------------------------------------------------------- /djbook/commands/spellcheck.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | import logging 3 | import os 4 | 5 | from cliff.command import Command as BaseCommand 6 | 7 | 8 | class Command(BaseCommand): 9 | """ 10 | Spell-check translation. Words are lowered to reduce number of ignored words. 11 | Also `ё` replaced with `Ё`. 12 | """ 13 | log = logging.getLogger(__name__) 14 | 15 | def take_action(self, parsed_args): 16 | self.app.run_subcommand(['compilemessages']) 17 | 18 | doctrees_path = os.path.join(self.app.doc_path, '_build/doctrees') 19 | spelling_path = os.path.join(self.app.doc_path, '_build/spelling') 20 | cmd = 'sphinx-build -b spelling -n -d %s -D language=ru_RU . %s' 21 | os.system(cmd % (doctrees_path, spelling_path)) 22 | self.app.stdout.write('Check result in %s\n' % spelling_path) 23 | -------------------------------------------------------------------------------- /djbook/djbook_conf.py: -------------------------------------------------------------------------------- 1 | # to apply these settings add to conf.py 2 | # sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "djbook"))) 3 | # from djbook_conf import * 4 | 5 | import sys 6 | import os 7 | from git import Repo 8 | from spelling_filters import IgnoreEnglishFilter 9 | from datetime import datetime 10 | 11 | repo = Repo('.') 12 | commit = repo.commit() 13 | 14 | html_context = { 15 | 'git_commit': str(commit), 16 | 'git_commit_date': datetime.fromtimestamp(commit.committed_date), 17 | 'git_branch': str(repo.active_branch), 18 | 'prev_version': '1.10' 19 | } 20 | 21 | html_theme_path = ["_theme", "djbook/_theme"] 22 | html_theme = "djbook" 23 | 24 | language = 'ru' 25 | gettext_compact = False 26 | 27 | exclude_patterns = ['_build', 'djbook', 'env'] 28 | 29 | spelling_lang = 'ru_RU' 30 | spelling_filters = [IgnoreEnglishFilter] 31 | spelling_show_suggestions = False 32 | spelling_word_list_filename = 'djbook/spelling_ignore.txt' 33 | 34 | if 'spelling' in sys.argv: 35 | extensions = ["djangodocs", "sphinx.ext.intersphinx", "spelling"] 36 | -------------------------------------------------------------------------------- /djbook/requirements.txt: -------------------------------------------------------------------------------- 1 | docutils>=0.11 2 | cliff==2.9.1 3 | Sphinx==1.6.5 4 | PyGithub==1.35.0 5 | polib==1.0.8 6 | goslate==1.5.1 7 | GitPython==2.1.7 8 | -------------------------------------------------------------------------------- /djbook/spelling/checker.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # 4 | # Copyright (c) 2010 Doug Hellmann. All rights reserved. 5 | # 6 | """Spelling checker extension for Sphinx. 7 | """ 8 | 9 | import enchant 10 | from enchant.tokenize import get_tokenizer 11 | 12 | 13 | class SpellingChecker(object): 14 | """Checks the spelling of blocks of text. 15 | 16 | Uses options defined in the sphinx configuration file to control 17 | the checking and filtering behavior. 18 | """ 19 | 20 | def __init__(self, lang, suggest, word_list_filename, filters=[]): 21 | self.dictionary = enchant.DictWithPWL(lang, word_list_filename) 22 | self.tokenizer = get_tokenizer(lang, filters) 23 | self.original_tokenizer = self.tokenizer 24 | self.suggest = suggest 25 | 26 | def push_filters(self, new_filters): 27 | """Add a filter to the tokenizer chain. 28 | """ 29 | t = self.tokenizer 30 | for f in new_filters: 31 | t = f(t) 32 | self.tokenizer = t 33 | 34 | def pop_filters(self): 35 | """Remove the filters pushed during the last call to push_filters(). 36 | """ 37 | self.tokenizer = self.original_tokenizer 38 | 39 | def check(self, text): 40 | """Yields bad words and suggested alternate spellings. 41 | """ 42 | for word, pos in self.tokenizer(text): 43 | correct = self.dictionary.check(word) 44 | if correct: 45 | continue 46 | yield word, self.dictionary.suggest(word) if self.suggest else [] 47 | return 48 | -------------------------------------------------------------------------------- /djbook/spelling/directive.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # 4 | # Copyright (c) 2010 Doug Hellmann. All rights reserved. 5 | # 6 | """Spelling checker extension for Sphinx. 7 | """ 8 | 9 | import collections 10 | 11 | from docutils.parsers import rst 12 | 13 | from . import filters 14 | 15 | 16 | class SpellingDirective(rst.Directive): 17 | """Custom directive for passing instructions to the spelling checker. 18 | 19 | .. spelling:: 20 | 21 | word1 22 | word2 23 | 24 | """ 25 | 26 | option_spec = {} 27 | has_content = True 28 | 29 | def run(self): 30 | env = self.state.document.settings.env 31 | 32 | # Initialize the per-document filters 33 | if not hasattr(env, 'spelling_document_filters'): 34 | env.spelling_document_filters = collections.defaultdict(list) 35 | 36 | good_words = [] 37 | for entry in self.content: 38 | if not entry: 39 | continue 40 | good_words.extend(entry.split()) 41 | if good_words: 42 | env.app.debug( 43 | 'Extending local dictionary for %s with %s' % ( 44 | env.docname, str(good_words)) 45 | ) 46 | env.spelling_document_filters[env.docname].append( 47 | filters.IgnoreWordsFilterFactory(good_words) 48 | ) 49 | return [] 50 | -------------------------------------------------------------------------------- /djbook/spelling_filters.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | import re 3 | from enchant.tokenize import Filter 4 | 5 | 6 | class IgnoreEnglishFilter(Filter): 7 | """Given a set of words, ignore them all. 8 | """ 9 | 10 | def __init__(self, *args, **kwargs): 11 | super(IgnoreEnglishFilter, self).__init__(*args, **kwargs) 12 | self.pattern = re.compile(r'[а-яА-Я]+') 13 | 14 | def _skip(self, word): 15 | return self.pattern.search(word) is None 16 | -------------------------------------------------------------------------------- /djbook/sphinx.pot: -------------------------------------------------------------------------------- 1 | # Translations template for PROJECT. 2 | # Copyright (C) 2014 ORGANIZATION 3 | # This file is distributed under the same license as the PROJECT project. 4 | # FIRST AUTHOR , 2014. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PROJECT VERSION\n" 10 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 11 | "POT-Creation-Date: 2014-10-22 17:09+0300\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=utf-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Generated-By: Babel 1.3\n" 19 | 20 | #: _ext/djangodocs.py:273 21 | #, python-format 22 | msgid "Changed in Django %s" 23 | msgstr "" 24 | 25 | #: _ext/djangodocs.py:274 26 | #, python-format 27 | msgid "New in Django %s" 28 | msgstr "" 29 | 30 | -------------------------------------------------------------------------------- /djbook/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block title %}Контрибьюторы{% endblock %} 4 | 5 | {% block content %} 6 | {% for row in contributors|batch(3) %} 7 |
8 | {% for user in row %} 9 |
10 | {% if user %} 11 | 12 | 13 | 14 | {{ user.name }}
15 | {% if user.blog %} 16 | {% if user.blog.startswith('http') %} 17 | {% set blog = user.blog %} 18 | {% else %} 19 | {% set blog = '//'+user.blog %} 20 | {% endif %} 21 | {{ user.blog|truncate(30, True) }}
22 | {% endif %} 23 | {% endif %} 24 |
25 | {% endfor %} 26 |
27 | {% endfor %} 28 | {% endblock %} -------------------------------------------------------------------------------- /faq/index.txt: -------------------------------------------------------------------------------- 1 | ========== 2 | Django FAQ 3 | ========== 4 | 5 | .. toctree:: 6 | :maxdepth: 2 7 | 8 | general 9 | install 10 | usage 11 | help 12 | models 13 | admin 14 | contributing 15 | troubleshooting 16 | -------------------------------------------------------------------------------- /howto/deployment/index.txt: -------------------------------------------------------------------------------- 1 | ================ 2 | Deploying Django 3 | ================ 4 | 5 | Django's chock-full of shortcuts to make Web developer's lives easier, but all 6 | those tools are of no use if you can't easily deploy your sites. Since Django's 7 | inception, ease of deployment has been a major goal. 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | wsgi/index 13 | checklist 14 | 15 | If you're new to deploying Django and/or Python, we'd recommend you try 16 | :doc:`mod_wsgi ` first. In most cases it'll be 17 | the easiest, fastest, and most stable deployment choice. 18 | -------------------------------------------------------------------------------- /howto/deployment/wsgi/gunicorn.txt: -------------------------------------------------------------------------------- 1 | =============================== 2 | How to use Django with Gunicorn 3 | =============================== 4 | 5 | .. highlight:: bash 6 | 7 | Gunicorn_ ('Green Unicorn') is a pure-Python WSGI server for UNIX. It has no 8 | dependencies and is easy to install and use. 9 | 10 | .. _Gunicorn: http://gunicorn.org/ 11 | 12 | Installing Gunicorn 13 | =================== 14 | 15 | Installing gunicorn is as easy as ``pip install gunicorn``. For more 16 | details, see the `gunicorn documentation`_. 17 | 18 | .. _gunicorn documentation: http://docs.gunicorn.org/en/latest/install.html 19 | 20 | Running Django in Gunicorn as a generic WSGI application 21 | ======================================================== 22 | 23 | When Gunicorn is installed, a ``gunicorn`` command is available which starts 24 | the Gunicorn server process. At its simplest, gunicorn just needs to be called 25 | with the location of a module containing a WSGI application object named 26 | `application`. So for a typical Django project, invoking gunicorn would look 27 | like:: 28 | 29 | gunicorn myproject.wsgi 30 | 31 | This will start one process running one thread listening on ``127.0.0.1:8000``. 32 | It requires that your project be on the Python path; the simplest way to ensure 33 | that is to run this command from the same directory as your ``manage.py`` file. 34 | 35 | See Gunicorn's `deployment documentation`_ for additional tips. 36 | 37 | .. _deployment documentation: http://docs.gunicorn.org/en/latest/deploy.html 38 | -------------------------------------------------------------------------------- /howto/index.txt: -------------------------------------------------------------------------------- 1 | =============== 2 | "How-to" guides 3 | =============== 4 | 5 | Here you'll find short answers to "How do I....?" types of questions. These 6 | how-to guides don't cover topics in depth -- you'll find that material in the 7 | :doc:`/topics/index` and the :doc:`/ref/index`. However, these guides will help 8 | you quickly accomplish common tasks. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | auth-remote-user 14 | custom-management-commands 15 | custom-model-fields 16 | custom-lookups 17 | custom-template-tags 18 | custom-file-storage 19 | deployment/index 20 | upgrade-version 21 | error-reporting 22 | initial-data 23 | jython 24 | legacy-databases 25 | outputting-csv 26 | outputting-pdf 27 | overriding-templates 28 | static-files/index 29 | static-files/deployment 30 | windows 31 | writing-migrations 32 | 33 | .. seealso:: 34 | 35 | The `Django community aggregator`_, where we aggregate content from the 36 | global Django community. Many writers in the aggregator write this sort of 37 | how-to material. 38 | 39 | .. _django community aggregator: https://www.djangoproject.com/community/ 40 | -------------------------------------------------------------------------------- /internals/_images/djangotickets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/internals/_images/djangotickets.png -------------------------------------------------------------------------------- /internals/_images/triage_process.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/internals/_images/triage_process.pdf -------------------------------------------------------------------------------- /internals/contributing/writing-code/index.txt: -------------------------------------------------------------------------------- 1 | ============ 2 | Writing code 3 | ============ 4 | 5 | So you'd like to write some code to improve Django. Awesome! Browse the 6 | following sections to find out how to give your code patches the best 7 | chances to be included in Django core: 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | coding-style 13 | unit-tests 14 | submitting-patches 15 | working-with-git 16 | javascript 17 | -------------------------------------------------------------------------------- /internals/index.txt: -------------------------------------------------------------------------------- 1 | ================ 2 | Django internals 3 | ================ 4 | 5 | Documentation for people hacking on Django itself. This is the place to go if 6 | you'd like to help improve Django or learn about how Django is managed. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | contributing/index 12 | mailing-lists 13 | organization 14 | security 15 | release-process 16 | deprecation 17 | git 18 | howto-release-django 19 | -------------------------------------------------------------------------------- /intro/_images/admin01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin01.png -------------------------------------------------------------------------------- /intro/_images/admin02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin02.png -------------------------------------------------------------------------------- /intro/_images/admin02t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin02t.png -------------------------------------------------------------------------------- /intro/_images/admin03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin03.png -------------------------------------------------------------------------------- /intro/_images/admin03t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin03t.png -------------------------------------------------------------------------------- /intro/_images/admin04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin04.png -------------------------------------------------------------------------------- /intro/_images/admin04t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin04t.png -------------------------------------------------------------------------------- /intro/_images/admin05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin05.png -------------------------------------------------------------------------------- /intro/_images/admin05t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin05t.png -------------------------------------------------------------------------------- /intro/_images/admin06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin06.png -------------------------------------------------------------------------------- /intro/_images/admin06t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin06t.png -------------------------------------------------------------------------------- /intro/_images/admin07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin07.png -------------------------------------------------------------------------------- /intro/_images/admin08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin08.png -------------------------------------------------------------------------------- /intro/_images/admin08t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin08t.png -------------------------------------------------------------------------------- /intro/_images/admin09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin09.png -------------------------------------------------------------------------------- /intro/_images/admin10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin10.png -------------------------------------------------------------------------------- /intro/_images/admin10t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin10t.png -------------------------------------------------------------------------------- /intro/_images/admin11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin11.png -------------------------------------------------------------------------------- /intro/_images/admin11t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin11t.png -------------------------------------------------------------------------------- /intro/_images/admin12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin12.png -------------------------------------------------------------------------------- /intro/_images/admin12t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin12t.png -------------------------------------------------------------------------------- /intro/_images/admin13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin13.png -------------------------------------------------------------------------------- /intro/_images/admin13t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin13t.png -------------------------------------------------------------------------------- /intro/_images/admin14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin14.png -------------------------------------------------------------------------------- /intro/_images/admin14t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin14t.png -------------------------------------------------------------------------------- /intro/_images/admin15t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/intro/_images/admin15t.png -------------------------------------------------------------------------------- /intro/index.txt: -------------------------------------------------------------------------------- 1 | =============== 2 | Getting started 3 | =============== 4 | 5 | New to Django? Or to Web development in general? Well, you came to the right 6 | place: read this material to quickly get up and running. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | overview 12 | install 13 | tutorial01 14 | tutorial02 15 | tutorial03 16 | tutorial04 17 | tutorial05 18 | tutorial06 19 | tutorial07 20 | reusable-apps 21 | whatsnext 22 | contributing 23 | 24 | .. seealso:: 25 | 26 | If you're new to Python_, you might want to start by getting an idea of what 27 | the language is like. Django is 100% Python, so if you've got minimal 28 | comfort with Python you'll probably get a lot more out of Django. 29 | 30 | If you're new to programming entirely, you might want to start with this 31 | `list of Python resources for non-programmers`_ 32 | 33 | If you already know a few other languages and want to get up to speed with 34 | Python quickly, we recommend `Dive Into Python`_. If that's not quite your 35 | style, there are many other `books about Python`_. 36 | 37 | .. _python: https://python.org/ 38 | .. _list of Python resources for non-programmers: https://wiki.python.org/moin/BeginnersGuide/NonProgrammers 39 | .. _Dive Into Python: http://www.diveintopython3.net/ 40 | .. _books about Python: https://wiki.python.org/moin/PythonBooks 41 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/faq/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-02-29 18:30\n" 11 | "PO-Revision-Date: 2014-12-29 17:54+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Gtranslator 2.91.6\n" 21 | 22 | # 173cc4eecfbf4f338bd2aadeff2f22fd 23 | #: ../../faq/index.txt:3 24 | msgid "Django FAQ" 25 | msgstr "Django FAQ" 26 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/internals/contributing/writing-code/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-02-29 18:30\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 84a827541dd944d6a5565550713901fe 22 | #: ../../internals/contributing/writing-code/index.txt:3 23 | msgid "Writing code" 24 | msgstr "" 25 | 26 | # edcd65523b774a8098ab4205138e8141 27 | #: ../../internals/contributing/writing-code/index.txt:5 28 | msgid "" 29 | "So you'd like to write some code to improve Django. Awesome! Browse the " 30 | "following sections to find out how to give your code patches the best " 31 | "chances to be included in Django core:" 32 | msgstr "" 33 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/internals/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # fc620e25c1274e0fb241f120293b440e 22 | #: ../../internals/index.txt:3 23 | msgid "Django internals" 24 | msgstr "" 25 | 26 | #: ../../internals/index.txt:5 27 | msgid "" 28 | "Documentation for people hacking on Django itself. This is the place to go " 29 | "if you'd like to help improve Django or learn about how Django is managed." 30 | msgstr "" 31 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/misc/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2013-09-01 22:29+0400\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 31c5fcbd4e074771bd8f26501eb03957 22 | #: ../../misc/index.txt:3 23 | msgid "Meta-documentation and miscellany" 24 | msgstr "Мета-документация и разное" 25 | 26 | # 9a2bc525dc984abda8171ebe978edde7 27 | #: ../../misc/index.txt:5 28 | msgid "" 29 | "Documentation that we can't find a more organized place for. Like that " 30 | "drawer in your kitchen with the scissors, batteries, duct tape, and other " 31 | "junk." 32 | msgstr "" 33 | "Документация, для который мы не смогли найти место. Подобно кухонному ящику " 34 | "со всеми этими ножницами, батарейками, клейкой лентой и прочим барахлом." 35 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/class-based-views/mixins.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.6\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2013-02-27 00:21\n" 11 | "PO-Revision-Date: 2013-06-16 00:27+0300\n" 12 | "Last-Translator: aum \n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Poedit 1.5.4\n" 21 | 22 | # 92330cec728f4a1ea698662900b86f48 23 | #: ../../ref/class-based-views/mixins.txt:3 24 | msgid "Class-based views mixins" 25 | msgstr "Примеси CBV(Class-based views mixins)" 26 | 27 | # f1cdb84b00f246afb13855543d7119e4 28 | #: ../../ref/class-based-views/mixins.txt:5 29 | msgid "" 30 | "Class-based views API reference. For introductory material, see :doc:`/" 31 | "topics/class-based-views/mixins`." 32 | msgstr "" 33 | "Информация по API представлений-классов. См. :doc:`/topics/class-based-views/" 34 | "mixins`." 35 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/contrib/gis/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2012-03-05 17:35+0400\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 9df00f213de442ca9a2facc827ec0be8 22 | #: ../../ref/contrib/gis/index.txt:3 23 | msgid "GeoDjango" 24 | msgstr "GeoDjango" 25 | 26 | # cfb5efd0f5cb4c5081c215aa47864362 27 | #: ../../ref/contrib/gis/index.txt:8 28 | msgid "" 29 | "GeoDjango intends to be a world-class geographic Web framework. Its goal is " 30 | "to make it as easy as possible to build GIS Web applications and harness the " 31 | "power of spatially enabled data." 32 | msgstr "" 33 | "GeoDjango планирует стать географическим инструментом мирового уровня, " 34 | "который позволяет создавать веб приложения для работы с картографическими " 35 | "данными." 36 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/contrib/gis/ogrinspect.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 2136ee6eb422448bbe414a791f0b02de 22 | #: ../../ref/contrib/gis/ogrinspect.txt:3 23 | msgid "OGR Inspection" 24 | msgstr "" 25 | 26 | # 7dec23673c414289876c9db9c032f0de 27 | #: ../../ref/contrib/gis/ogrinspect.txt:11 28 | msgid "``ogrinspect``" 29 | msgstr "" 30 | 31 | # 4a8f81ca46e14f58b77fb6d237ee1b93 32 | #: ../../ref/contrib/gis/ogrinspect.txt:17 33 | msgid "``mapping``" 34 | msgstr "" 35 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/contrib/gis/utils.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 54bab4765133465884f651047401375c 22 | #: ../../ref/contrib/gis/utils.txt:3 23 | msgid "GeoDjango Utilities" 24 | msgstr "" 25 | 26 | # 71ecd73bf5ac4e4e9a0a6f407ea4853b 27 | #: ../../ref/contrib/gis/utils.txt:8 28 | msgid "" 29 | "The :mod:`django.contrib.gis.utils` module contains various utilities that " 30 | "are useful in creating geospatial Web applications." 31 | msgstr "" 32 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/files/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-02-29 18:30\n" 11 | "PO-Revision-Date: 2014-12-29 17:55+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Gtranslator 2.91.6\n" 21 | 22 | # d781d87013dd4d888259d6a63072f894 23 | #: ../../ref/files/index.txt:3 24 | msgid "File handling" 25 | msgstr "Работа с файлами" 26 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/forms/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2015-03-25 15:31+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Gtranslator 2.91.6\n" 21 | 22 | # c2c877dcb68c4d7aaac1a2673d679320 23 | #: ../../ref/forms/index.txt:3 24 | msgid "Forms" 25 | msgstr "Формы" 26 | 27 | # 2a98ea52b93d43f698621d2e3d52ed26 28 | #: ../../ref/forms/index.txt:5 29 | msgid "" 30 | "Detailed form API reference. For introductory material, see the :doc:`/" 31 | "topics/forms/index` topic guide." 32 | msgstr "" 33 | "Детальный справочник на API форм. Для вводного материала обратитесь к :doc:`/" 34 | "topics/forms/index`." 35 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2013-02-27 00:21\n" 11 | "PO-Revision-Date: 2012-02-28 14:35+0400\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # fbd0d7c20e214cb9a8d8a93e80941f05 22 | #: ../../ref/index.txt:3 23 | msgid "API Reference" 24 | msgstr "Справочник API" 25 | 26 | # c70fb672db86430bab8618c4f5ca8bbe 27 | #~ msgid "Deprecated features" 28 | #~ msgstr "Устаревшие возможности" 29 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/ref/models/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-02-29 18:30\n" 11 | "PO-Revision-Date: 2012-02-27 23:01+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 8689642de39543c69d834a600687f05b 22 | #: ../../ref/models/index.txt:3 23 | msgid "Models" 24 | msgstr "Модели" 25 | 26 | # fe3ba4f31a44490aa325e57d00494aaf 27 | #: ../../ref/models/index.txt:5 28 | msgid "" 29 | "Model API reference. For introductory material, see :doc:`/topics/db/models`." 30 | msgstr "" 31 | "Справка по API моделей. Вводный материал ищите в :doc:`/topics/db/models`." 32 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.10.8.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 2.0\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-12-03 16:54+0200\n" 11 | "PO-Revision-Date: 2017-11-16 11:56+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.10.8.txt:3 22 | msgid "Django 1.10.8 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.10.8.txt:5 26 | msgid "*September 5, 2017*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.10.8.txt:7 30 | msgid "Django 1.10.8 fixes a security issue in 1.10.7." 31 | msgstr "" 32 | 33 | #: ../../releases/1.10.8.txt:10 34 | msgid "" 35 | "CVE-2017-12794: Possible XSS in traceback section of technical 500 debug page" 36 | msgstr "" 37 | 38 | #: ../../releases/1.10.8.txt:12 39 | msgid "" 40 | "In older versions, HTML autoescaping was disabled in a portion of the " 41 | "template for the technical 500 debug page. Given the right circumstances, " 42 | "this allowed a cross-site scripting attack. This vulnerability shouldn't " 43 | "affect most production sites since you shouldn't run with ``DEBUG = True`` " 44 | "(which makes this page accessible) in your production settings." 45 | msgstr "" 46 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.11.6.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 2.0\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-12-03 16:54+0200\n" 11 | "PO-Revision-Date: 2017-11-16 11:56+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.11.6.txt:3 22 | msgid "Django 1.11.6 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.11.6.txt:5 26 | msgid "*October 5, 2017*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.11.6.txt:7 30 | msgid "Django 1.11.6 fixes several bugs in 1.11.5." 31 | msgstr "" 32 | 33 | #: ../../releases/1.11.6.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.11.6.txt:12 38 | msgid "" 39 | "Made the ``CharField`` form field convert whitespace-only values to the " 40 | "``empty_value`` when ``strip`` is enabled (:ticket:`28555`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.11.6.txt:15 44 | msgid "" 45 | "Fixed crash when using the name of a model's autogenerated primary key " 46 | "(``id``) in an ``Index``'s ``fields`` (:ticket:`28597`)." 47 | msgstr "" 48 | 49 | #: ../../releases/1.11.6.txt:18 50 | msgid "" 51 | "Fixed a regression in Django 1.9 where a custom view error handler such as " 52 | "``handler404`` that accesses ``csrf_token`` could cause CSRF verification " 53 | "failures on other pages (:ticket:`28488`)." 54 | msgstr "" 55 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.11.7.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 2.0\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-12-03 16:54+0200\n" 11 | "PO-Revision-Date: 2017-11-16 11:56+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.11.7.txt:3 22 | msgid "Django 1.11.7 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.11.7.txt:5 26 | msgid "*November 1, 2017*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.11.7.txt:7 30 | msgid "Django 1.11.7 fixes several bugs in 1.11.6." 31 | msgstr "" 32 | 33 | #: ../../releases/1.11.7.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.11.7.txt:12 38 | msgid "" 39 | "Prevented ``cache.get_or_set()`` from caching ``None`` if the ``default`` " 40 | "argument is a callable that returns ``None`` (:ticket:`28601`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.11.7.txt:15 44 | msgid "Fixed the Basque ``DATE_FORMAT`` string (:ticket:`28710`)." 45 | msgstr "" 46 | 47 | #: ../../releases/1.11.7.txt:17 48 | msgid "" 49 | "Made ``QuerySet.reverse()`` affect ``nulls_first`` and ``nulls_last`` (:" 50 | "ticket:`28722`)." 51 | msgstr "" 52 | 53 | #: ../../releases/1.11.7.txt:20 54 | msgid "" 55 | "Fixed unquoted table names in ``Subquery`` SQL when using ``OuterRef`` (:" 56 | "ticket:`28689`)." 57 | msgstr "" 58 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.2.1.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2014-07-11 11:43+0300\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # be58edb9a16b42609882bb9204ab5195 22 | #: ../../releases/1.2.1.txt:3 23 | msgid "Django 1.2.1 release notes" 24 | msgstr "" 25 | 26 | # b692d00431d84e56b8f9f423b8e9eba1 27 | #: ../../releases/1.2.1.txt:5 28 | msgid "" 29 | "Django 1.2.1 was released almost immediately after 1.2.0 to correct two " 30 | "small bugs: one was in the documentation packaging script, the other was a " 31 | "bug_ that affected datetime form field widgets when localization was enabled." 32 | msgstr "" 33 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.2.6.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-02-29 18:30\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 2736afbfebd1419893c11489ed075a1f 22 | #: ../../releases/1.2.6.txt:3 23 | msgid "Django 1.2.6 release notes" 24 | msgstr "" 25 | 26 | # 0310a7f1cdba457e9f9b748b4a57c06c 27 | #: ../../releases/1.2.6.txt:5 28 | msgid "*September 9, 2011*" 29 | msgstr "" 30 | 31 | # 707e471a71a64157a69cc491abba2994 32 | #: ../../releases/1.2.6.txt:7 33 | msgid "Welcome to Django 1.2.6!" 34 | msgstr "" 35 | 36 | # 2005cb56f3974d17a621181f4939a6ec 37 | #: ../../releases/1.2.6.txt:9 38 | msgid "" 39 | "This is the sixth bugfix/security release in the Django 1.2 series, fixing " 40 | "several security issues present in Django 1.2.5. Django 1.2.6 is a " 41 | "recommended upgrade for all users of any Django release in the 1.2.X series." 42 | msgstr "" 43 | 44 | # e9b217f574454ef49a9c29db8d529e67 45 | #: ../../releases/1.2.6.txt:13 46 | msgid "" 47 | "For a full list of issues addressed in this release, see the `security " 48 | "advisory`_." 49 | msgstr "" 50 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.2.7.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-02-29 18:30\n" 11 | "PO-Revision-Date: 2012-02-15 15:13\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 0ac2f50a1cfe4e06ac1965a55cba97c7 22 | #: ../../releases/1.2.7.txt:3 23 | msgid "Django 1.2.7 release notes" 24 | msgstr "" 25 | 26 | # 785c084449fc4ead85772ab9e1850f1f 27 | #: ../../releases/1.2.7.txt:5 28 | msgid "*September 10, 2011*" 29 | msgstr "" 30 | 31 | # 715c3055cbfe4a9d9013e995f2df2509 32 | #: ../../releases/1.2.7.txt:7 33 | msgid "Welcome to Django 1.2.7!" 34 | msgstr "" 35 | 36 | # 214ebfaeb2064cd3a7a801e9d59ce43c 37 | #: ../../releases/1.2.7.txt:9 38 | msgid "" 39 | "This is the seventh bugfix/security release in the Django 1.2 series. It " 40 | "replaces Django 1.2.6 due to problems with the 1.2.6 release tarball. Django " 41 | "1.2.7 is a recommended upgrade for all users of any Django release in the " 42 | "1.2.X series." 43 | msgstr "" 44 | 45 | # 6dbdda6dbc2d40cb960af8cedf77d896 46 | #: ../../releases/1.2.7.txt:14 47 | msgid "For more information, see the `release advisory`_." 48 | msgstr "" 49 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.3.2.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.6\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2013-02-27 00:21\n" 11 | "PO-Revision-Date: 2014-02-17 15:13\n" 12 | "Last-Translator: Tyshchenko Viktor \n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 4bbf9df3b24346588ccc94c8bc15c8ea 22 | #: ../../releases/1.3.2.txt:3 23 | msgid "Django 1.3.2 release notes" 24 | msgstr "О релизе Django 1.3.2" 25 | 26 | # e82451cc2595421c80fdabcb50b453f8 27 | #: ../../releases/1.3.2.txt:5 28 | msgid "*July 30, 2012*" 29 | msgstr "*30 июля 2012*" 30 | 31 | # a698fffa01e74c6c906f2de0d77ef540 32 | #: ../../releases/1.3.2.txt:7 33 | msgid "" 34 | "This is the second security release in the Django 1.3 series, fixing several " 35 | "security issues in Django 1.3. Django 1.3.2 is a recommended upgrade for all " 36 | "users of Django 1.3." 37 | msgstr "" 38 | "Это второй релиз безопасности ветки Django 1.3, который закрывает несколько уязвимостей. " 39 | "Настоятельно рекомендуем установить 1.3.2, если вы остаётесь на ветке 1.3." 40 | 41 | # 2bc4c22428624ca180a9811d619aef50 42 | #: ../../releases/1.3.2.txt:11 43 | msgid "" 44 | "For a full list of issues addressed in this release, see the `security " 45 | "advisory`_." 46 | msgstr "Полный список исправленных ошибок можно найти на `security advisory`_." 47 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.3.3.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.5\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2013-08-21 17:15\n" 11 | "PO-Revision-Date: 2014-02-17 15:13\n" 12 | "Last-Translator: Tyshchenko Viktor \n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # a9042445563e4570be6641dff1511320 22 | #: ../../releases/1.3.3.txt:3 23 | msgid "Django 1.3.3 release notes" 24 | msgstr "О релизе Django 1.3.3" 25 | 26 | # ac2839b963a64746a4fd72e306d549ed 27 | #: ../../releases/1.3.3.txt:5 28 | msgid "*August 1, 2012*" 29 | msgstr "*1 августа 2012*" 30 | 31 | # e1bd2e0a7d4d4c9c87184a5332524221 32 | #: ../../releases/1.3.3.txt:7 33 | msgid "" 34 | "Following Monday's security release of :doc:`Django 1.3.2 `, we began receiving reports that one of the fixes applied " 36 | "was breaking Python 2.4 compatibility for Django 1.3. Since Python 2.4 is a " 37 | "supported Python version for that release series, this release fixes " 38 | "compatibility with Python 2.4." 39 | msgstr "" 40 | "После выхода релиза безопасности :doc:`Django 1.3.2 ` мы стали " 41 | "получать сообщения, что одно из исправлений ломает совместимость Python 2.4 с " 42 | "Django 1.3. Этот патч чинит совместимость Django 1.3 с Python 2.4." -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.1.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.6\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2013-02-27 00:21\n" 11 | "PO-Revision-Date: 2013-03-17 00:21\n" 12 | "Last-Translator: Viktor Tyshchenko \n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # c7f698e0d8b048079f7d51348c3be04a 22 | #: ../../releases/1.4.1.txt:3 23 | msgid "Django 1.4.1 release notes" 24 | msgstr "Релиз Django 1.4.1" 25 | 26 | # edf26109054d4ec08a5c3425ba42ce15 27 | #: ../../releases/1.4.1.txt:5 28 | msgid "*July 30, 2012*" 29 | msgstr "*30 июля 2012*" 30 | 31 | # 8a87e76b19b2450698ac166f2b01d794 32 | #: ../../releases/1.4.1.txt:7 33 | msgid "" 34 | "This is the first security release in the Django 1.4 series, fixing several " 35 | "security issues in Django 1.4. Django 1.4.1 is a recommended upgrade for all " 36 | "users of Django 1.4." 37 | msgstr "" 38 | "Это первый релиз безопасности в ветке Django 1.4, исправляющий несколько известных " 39 | "ошибок. Его рекомендуется установить всем пользователям Django." 40 | 41 | # 45bd4faa860844f6b4bd467d0caa09a2 42 | #: ../../releases/1.4.1.txt:11 43 | msgid "" 44 | "For a full list of issues addressed in this release, see the `security " 45 | "advisory`_." 46 | msgstr "" 47 | "Полный список исправленных ошибок можно посмотреть в `security advisory`_." 48 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.10.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.7\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2014-07-30 13:35+0300\n" 11 | "PO-Revision-Date: 2014-07-11 11:43+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 6024b0e41df943cb9238faad8ef876ce 22 | #: ../../releases/1.4.10.txt:3 23 | msgid "Django 1.4.10 release notes" 24 | msgstr "" 25 | 26 | # dab49f890ca347ab98eaa14dc1db2400 27 | #: ../../releases/1.4.10.txt:5 28 | msgid "*November 6, 2013*" 29 | msgstr "" 30 | 31 | # 950339cdc92f440eb6e7c9e5f0754742 32 | #: ../../releases/1.4.10.txt:7 33 | msgid "Django 1.4.10 fixes a Python-compatibility bug in the 1.4 series." 34 | msgstr "" 35 | 36 | # 9ec0116f122447ce89ffa522841063e3 37 | #: ../../releases/1.4.10.txt:10 38 | msgid "Python compatibility" 39 | msgstr "" 40 | 41 | # 93afab3c4faf4cdca1a08e30bf9edd20 42 | #: ../../releases/1.4.10.txt:12 43 | msgid "" 44 | "Django 1.4.9 inadvertently introduced issues with Python 2.5 compatibility. " 45 | "Django 1.4.10 restores Python 2.5 compatibility. This was issue #21362 in " 46 | "Django's Trac." 47 | msgstr "" 48 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.12.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.7\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2014-07-11 11:43+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 17dfd93d14574f3b80d6fb61621ed63b 22 | #: ../../releases/1.4.12.txt:3 23 | msgid "Django 1.4.12 release notes" 24 | msgstr "" 25 | 26 | # 7d24c74824af4e1ab417132c4fb5f0b4 27 | #: ../../releases/1.4.12.txt:5 28 | msgid "*April 28, 2014*" 29 | msgstr "" 30 | 31 | # 9534dbfe71e14e5ebfed895ed4d8c818 32 | #: ../../releases/1.4.12.txt:7 33 | msgid "Django 1.4.12 fixes a regression in the 1.4.11 security release." 34 | msgstr "" 35 | 36 | # c1e8f13bbf3b4209901f182c96ecd944 37 | #: ../../releases/1.4.12.txt:10 38 | msgid "Bugfixes" 39 | msgstr "" 40 | 41 | #: ../../releases/1.4.12.txt:12 42 | msgid "" 43 | "Restored the ability to ``reverse()`` views created using :func:`functools." 44 | "partial()` (:ticket:`22486`)." 45 | msgstr "" 46 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.15.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.7\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2014-09-09 11:16+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # a864c332f3a84e6a8d6797dc80347083 22 | #: ../../releases/1.4.15.txt:3 23 | msgid "Django 1.4.15 release notes" 24 | msgstr "" 25 | 26 | #: ../../releases/1.4.15.txt:5 27 | msgid "*September 2, 2014*" 28 | msgstr "" 29 | 30 | # d7fa414da72d4228a31531795e406f10 31 | #: ../../releases/1.4.15.txt:7 32 | msgid "Django 1.4.15 fixes a regression in the 1.4.14 security release." 33 | msgstr "" 34 | 35 | # 54f86989cce145f6a84161b7b36e7876 36 | #: ../../releases/1.4.15.txt:10 37 | msgid "Bugfixes" 38 | msgstr "" 39 | 40 | #: ../../releases/1.4.15.txt:12 41 | msgid "" 42 | "Allowed inherited and m2m fields to be referenced in the admin (:ticket:" 43 | "`22486`)" 44 | msgstr "" 45 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.16.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-04-02 10:33+0300\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.4.16.txt:3 22 | msgid "Django 1.4.16 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.4.16.txt:5 26 | msgid "*October 22, 2014*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.4.16.txt:7 30 | msgid "" 31 | "Django 1.4.16 fixes a couple regressions in the 1.4.14 security release and " 32 | "a bug preventing the use of some GEOS versions with GeoDjango." 33 | msgstr "" 34 | 35 | #: ../../releases/1.4.16.txt:11 36 | msgid "Bugfixes" 37 | msgstr "" 38 | 39 | #: ../../releases/1.4.16.txt:13 40 | msgid "" 41 | "Allowed related many-to-many fields to be referenced in the admin (:ticket:" 42 | "`23604`)." 43 | msgstr "" 44 | 45 | #: ../../releases/1.4.16.txt:16 46 | msgid "Allowed inline and hidden references to admin fields (:ticket:`23431`)." 47 | msgstr "" 48 | 49 | #: ../../releases/1.4.16.txt:19 50 | msgid "Fixed parsing of the GEOS version string (:ticket:`20036`)." 51 | msgstr "" 52 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.17.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-11-16 11:56+0200\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.4.17.txt:3 22 | msgid "Django 1.4.17 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.4.17.txt:5 26 | msgid "*January 2, 2015*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.4.17.txt:7 30 | msgid "Django 1.4.17 fixes a regression in the 1.4.14 security release." 31 | msgstr "" 32 | 33 | #: ../../releases/1.4.17.txt:9 34 | msgid "" 35 | "Additionally, Django's vendored version of six, ``django.utils.six``, has " 36 | "been upgraded to the latest release (1.9.0)." 37 | msgstr "" 38 | 39 | #: ../../releases/1.4.17.txt:13 40 | msgid "Bugfixes" 41 | msgstr "" 42 | 43 | #: ../../releases/1.4.17.txt:15 44 | msgid "" 45 | "Fixed a regression with dynamically generated inlines and allowed field " 46 | "references in the admin (:ticket:`23754`)." 47 | msgstr "" 48 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.4.19.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-12-02 11:18+0200\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.4.19.txt:3 22 | msgid "Django 1.4.19 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.4.19.txt:5 26 | msgid "*January 27, 2015*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.4.19.txt:7 30 | msgid "Django 1.4.19 fixes a regression in the 1.4.18 security release." 31 | msgstr "" 32 | 33 | #: ../../releases/1.4.19.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.4.19.txt:12 38 | msgid "" 39 | "``GZipMiddleware`` now supports streaming responses. As part of the 1.4.18 " 40 | "security release, the ``django.views.static.serve()`` function was altered " 41 | "to stream the files it serves. Unfortunately, the ``GZipMiddleware`` " 42 | "consumed the stream prematurely and prevented files from being served " 43 | "properly (:ticket:`24158`)." 44 | msgstr "" 45 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.5.10.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.7\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2014-09-09 11:16+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 0329c401abe549fb93a6dbeee42aa875 22 | #: ../../releases/1.5.10.txt:3 23 | msgid "Django 1.5.10 release notes" 24 | msgstr "" 25 | 26 | #: ../../releases/1.5.10.txt:5 27 | msgid "*September 2, 2014*" 28 | msgstr "" 29 | 30 | # 8a11236739334a559dd764e03eb4f100 31 | #: ../../releases/1.5.10.txt:7 32 | msgid "Django 1.5.10 fixes a regression in the 1.5.9 security release." 33 | msgstr "" 34 | 35 | # 282b3cb584f64982bdee7f79b1358b4f 36 | #: ../../releases/1.5.10.txt:10 37 | msgid "Bugfixes" 38 | msgstr "" 39 | 40 | #: ../../releases/1.5.10.txt:12 41 | msgid "" 42 | "Allowed inherited and m2m fields to be referenced in the admin (:ticket:" 43 | "`22486`)" 44 | msgstr "" 45 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.5.11.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-04-02 10:33+0300\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.5.11.txt:3 22 | msgid "Django 1.5.11 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.5.11.txt:5 26 | msgid "*October 22, 2014*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.5.11.txt:7 30 | msgid "Django 1.5.11 fixes a couple regressions in the 1.5.9 security release." 31 | msgstr "" 32 | 33 | #: ../../releases/1.5.11.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.5.11.txt:12 38 | msgid "" 39 | "Allowed related many-to-many fields to be referenced in the admin (:ticket:" 40 | "`23604`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.5.11.txt:15 44 | msgid "Allowed inline and hidden references to admin fields (:ticket:`23431`)." 45 | msgstr "" 46 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.5.12.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-04-02 10:33+0300\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.5.12.txt:3 22 | msgid "Django 1.5.12 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.5.12.txt:5 26 | msgid "*January 2, 2015*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.5.12.txt:7 30 | msgid "Django 1.5.12 fixes a regression in the 1.5.9 security release." 31 | msgstr "" 32 | 33 | #: ../../releases/1.5.12.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.5.12.txt:12 38 | msgid "" 39 | "Fixed a regression with dynamically generated inlines and allowed field " 40 | "references in the admin (:ticket:`23754`)." 41 | msgstr "" 42 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.5.7.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.7\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2014-07-11 11:43+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # d4e19f1f5091492d9a0510a53ff11f90 22 | #: ../../releases/1.5.7.txt:3 23 | msgid "Django 1.5.7 release notes" 24 | msgstr "" 25 | 26 | # d66a2b7202554a7caa684a2836031d80 27 | #: ../../releases/1.5.7.txt:5 28 | msgid "*April 28, 2014*" 29 | msgstr "" 30 | 31 | # 9a21b00f0d944d4cb6b19af0f9b50efe 32 | #: ../../releases/1.5.7.txt:7 33 | msgid "Django 1.5.7 fixes a regression in the 1.5.6 security release." 34 | msgstr "" 35 | 36 | # c90046da69024d83b4d45339fe1a82fc 37 | #: ../../releases/1.5.7.txt:10 38 | msgid "Bugfixes" 39 | msgstr "" 40 | 41 | #: ../../releases/1.5.7.txt:12 42 | msgid "" 43 | "Restored the ability to ``reverse()`` views created using :func:`functools." 44 | "partial()` (:ticket:`22486`)." 45 | msgstr "" 46 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.6.7.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.7\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-19 15:06+0200\n" 11 | "PO-Revision-Date: 2014-09-09 11:16+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 2c1823a8e4714d4abfa186832a0b9f49 22 | #: ../../releases/1.6.7.txt:3 23 | msgid "Django 1.6.7 release notes" 24 | msgstr "" 25 | 26 | #: ../../releases/1.6.7.txt:5 27 | msgid "*September 2, 2014*" 28 | msgstr "" 29 | 30 | # 32e66d6a9dba4dfe9c50df1b8141cdb7 31 | #: ../../releases/1.6.7.txt:7 32 | msgid "" 33 | "Django 1.6.7 fixes several bugs in 1.6.6, including a regression related to " 34 | "a security fix in that release." 35 | msgstr "" 36 | 37 | # fcc1b886a9ac4abca8159ac5ed4943c6 38 | #: ../../releases/1.6.7.txt:11 39 | msgid "Bugfixes" 40 | msgstr "" 41 | 42 | # 22ef1764274c4e4bbb36e30a04fbca08 43 | #: ../../releases/1.6.7.txt:13 44 | msgid "" 45 | "Allowed inherited and m2m fields to be referenced in the admin (:ticket:" 46 | "`23329`)." 47 | msgstr "" 48 | 49 | # 52d7625f2ba2408ab29cfda048d65244 50 | #: ../../releases/1.6.7.txt:15 51 | msgid "" 52 | "Fixed a crash when using ``QuerySet.defer()`` with ``select_related()`` (:" 53 | "ticket:`23370`)." 54 | msgstr "" 55 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.6.8.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-04-02 10:33+0300\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.6.8.txt:3 22 | msgid "Django 1.6.8 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.6.8.txt:5 26 | msgid "*October 22, 2014*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.6.8.txt:7 30 | msgid "Django 1.6.8 fixes a couple regressions in the 1.6.6 security release." 31 | msgstr "" 32 | 33 | #: ../../releases/1.6.8.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.6.8.txt:12 38 | msgid "" 39 | "Allowed related many-to-many fields to be referenced in the admin (:ticket:" 40 | "`23604`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.6.8.txt:15 44 | msgid "Allowed inline and hidden references to admin fields (:ticket:`23431`)." 45 | msgstr "" 46 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.6.9.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.8\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-11-16 11:56+0200\n" 11 | "PO-Revision-Date: 2015-03-19 15:06+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.6.9.txt:3 22 | msgid "Django 1.6.9 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.6.9.txt:5 26 | msgid "*January 2, 2015*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.6.9.txt:7 30 | msgid "Django 1.6.9 fixes a regression in the 1.6.6 security release." 31 | msgstr "" 32 | 33 | #: ../../releases/1.6.9.txt:9 34 | msgid "" 35 | "Additionally, Django's vendored version of six, ``django.utils.six``, has " 36 | "been upgraded to the latest release (1.9.0)." 37 | msgstr "" 38 | 39 | #: ../../releases/1.6.9.txt:13 40 | msgid "Bugfixes" 41 | msgstr "" 42 | 43 | #: ../../releases/1.6.9.txt:15 44 | msgid "" 45 | "Fixed a regression with dynamically generated inlines and allowed field " 46 | "references in the admin (:ticket:`23754`)." 47 | msgstr "" 48 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.7.8.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2015. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.9\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-12-02 11:18+0200\n" 11 | "PO-Revision-Date: 2015-11-17 10:48+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.7.8.txt:3 22 | msgid "Django 1.7.8 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.7.8.txt:5 26 | msgid "*May 1, 2015*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.7.8.txt:7 30 | msgid "Django 1.7.8 fixes:" 31 | msgstr "" 32 | 33 | #: ../../releases/1.7.8.txt:9 34 | msgid "" 35 | "Database introspection with SQLite 3.8.9 (released April 8, 2015) (:ticket:" 36 | "`24637`)." 37 | msgstr "" 38 | 39 | #: ../../releases/1.7.8.txt:12 40 | msgid "A database table name quoting regression in 1.7.2 (:ticket:`24605`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.7.8.txt:14 44 | msgid "" 45 | "The loss of ``null``/``not null`` column properties during field alteration " 46 | "of MySQL databases (:ticket:`24595`)." 47 | msgstr "" 48 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.8.11.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.8.11.txt:3 22 | msgid "Django 1.8.11 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.8.11.txt:5 26 | msgid "*March 5, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.8.11.txt:7 30 | msgid "" 31 | "Django 1.8.11 fixes a regression on Python 2 in the 1.8.10 security release " 32 | "where ``utils.http.is_safe_url()`` crashes on bytestring URLs (:ticket:" 33 | "`26308`)." 34 | msgstr "" 35 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.8.12.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.8.12.txt:3 22 | msgid "Django 1.8.12 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.8.12.txt:5 26 | msgid "*April 1, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.8.12.txt:7 30 | msgid "Django 1.8.12 fixes several bugs in 1.8.11." 31 | msgstr "" 32 | 33 | #: ../../releases/1.8.12.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.8.12.txt:12 38 | msgid "" 39 | "Made ``MultiPartParser`` ignore filenames that normalize to an empty string " 40 | "to fix crash in ``MemoryFileUploadHandler`` on specially crafted user input " 41 | "(:ticket:`26325`)." 42 | msgstr "" 43 | 44 | #: ../../releases/1.8.12.txt:16 45 | msgid "" 46 | "Fixed data loss on SQLite where ``DurationField`` values with fractional " 47 | "seconds could be saved as ``None`` (:ticket:`26324`)." 48 | msgstr "" 49 | 50 | #: ../../releases/1.8.12.txt:19 51 | msgid "" 52 | "Restored the functionality of the admin's ``raw_id_fields`` in " 53 | "``list_editable`` (:ticket:`26387`)." 54 | msgstr "" 55 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.8.13.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.8.13.txt:3 22 | msgid "Django 1.8.13 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.8.13.txt:5 26 | msgid "*May 2, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.8.13.txt:7 30 | msgid "Django 1.8.13 fixes several bugs in 1.8.12." 31 | msgstr "" 32 | 33 | #: ../../releases/1.8.13.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.8.13.txt:12 38 | msgid "" 39 | "Fixed ``TimeField`` microseconds round-tripping on MySQL and SQLite (:ticket:" 40 | "`26498`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.8.13.txt:15 44 | msgid "" 45 | "Restored conversion of an empty string to null when saving values of " 46 | "``GenericIPAddressField`` on SQLite and MySQL (:ticket:`26557`)." 47 | msgstr "" 48 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.8.15.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.8.15.txt:3 22 | msgid "Django 1.8.15 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.8.15.txt:5 26 | msgid "*September 26, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.8.15.txt:7 30 | msgid "Django 1.8.15 fixes a security issue in 1.8.14." 31 | msgstr "" 32 | 33 | #: ../../releases/1.8.15.txt:10 34 | msgid "CSRF protection bypass on a site with Google Analytics" 35 | msgstr "" 36 | 37 | #: ../../releases/1.8.15.txt:12 38 | msgid "" 39 | "An interaction between Google Analytics and Django's cookie parsing could " 40 | "allow an attacker to set arbitrary cookies leading to a bypass of CSRF " 41 | "protection." 42 | msgstr "" 43 | 44 | #: ../../releases/1.8.15.txt:15 45 | msgid "" 46 | "The parser for ``request.COOKIES`` is simplified to better match the " 47 | "behavior of browsers and to mitigate this attack. ``request.COOKIES`` may " 48 | "now contain cookies that are invalid according to :rfc:`6265` but are " 49 | "possible to set via ``document.cookie``." 50 | msgstr "" 51 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.8.17.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.11\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-11-16 11:56+0200\n" 11 | "PO-Revision-Date: 2017-04-05 11:28+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.8.17.txt:3 22 | msgid "Django 1.8.17 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.8.17.txt:5 26 | msgid "*December 1, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.8.17.txt:7 30 | msgid "Django 1.8.17 fixes a regression in 1.8.16." 31 | msgstr "" 32 | 33 | #: ../../releases/1.8.17.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.8.17.txt:12 38 | msgid "" 39 | "Quoted the Oracle test user's password in queries to fix the \"ORA-00922: " 40 | "missing or invalid option\" error when the password starts with a number or " 41 | "special character (:ticket:`27420`)." 42 | msgstr "" 43 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.9.10.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.9.10.txt:3 22 | msgid "Django 1.9.10 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.9.10.txt:5 26 | msgid "*September 26, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.9.10.txt:7 30 | msgid "Django 1.9.10 fixes a security issue in 1.9.9." 31 | msgstr "" 32 | 33 | #: ../../releases/1.9.10.txt:10 34 | msgid "CSRF protection bypass on a site with Google Analytics" 35 | msgstr "" 36 | 37 | #: ../../releases/1.9.10.txt:12 38 | msgid "" 39 | "An interaction between Google Analytics and Django's cookie parsing could " 40 | "allow an attacker to set arbitrary cookies leading to a bypass of CSRF " 41 | "protection." 42 | msgstr "" 43 | 44 | #: ../../releases/1.9.10.txt:15 45 | msgid "" 46 | "The parser for ``request.COOKIES`` is simplified to better match the " 47 | "behavior of browsers and to mitigate this attack. ``request.COOKIES`` may " 48 | "now contain cookies that are invalid according to :rfc:`6265` but are " 49 | "possible to set via ``document.cookie``." 50 | msgstr "" 51 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.9.12.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.11\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-11-16 11:56+0200\n" 11 | "PO-Revision-Date: 2017-04-05 11:28+0300\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.9.12.txt:3 22 | msgid "Django 1.9.12 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.9.12.txt:5 26 | msgid "*December 1, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.9.12.txt:7 30 | msgid "Django 1.9.12 fixes a regression in 1.9.11." 31 | msgstr "" 32 | 33 | #: ../../releases/1.9.12.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.9.12.txt:12 38 | msgid "" 39 | "Quoted the Oracle test user's password in queries to fix the \"ORA-00922: " 40 | "missing or invalid option\" error when the password starts with a number or " 41 | "special character (:ticket:`27420`)." 42 | msgstr "" 43 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.9.4.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.9.4.txt:3 22 | msgid "Django 1.9.4 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.9.4.txt:5 26 | msgid "*March 5, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.9.4.txt:7 30 | msgid "" 31 | "Django 1.9.4 fixes a regression on Python 2 in the 1.9.3 security release " 32 | "where ``utils.http.is_safe_url()`` crashes on bytestring URLs (:ticket:" 33 | "`26308`)." 34 | msgstr "" 35 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/releases/1.9.9.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated, 2016. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.10\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-05 11:28+0300\n" 11 | "PO-Revision-Date: 2016-12-08 11:07+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | #: ../../releases/1.9.9.txt:3 22 | msgid "Django 1.9.9 release notes" 23 | msgstr "" 24 | 25 | #: ../../releases/1.9.9.txt:5 26 | msgid "*August 1, 2016*" 27 | msgstr "" 28 | 29 | #: ../../releases/1.9.9.txt:7 30 | msgid "Django 1.9.9 fixes several bugs in 1.9.8." 31 | msgstr "" 32 | 33 | #: ../../releases/1.9.9.txt:10 34 | msgid "Bugfixes" 35 | msgstr "" 36 | 37 | #: ../../releases/1.9.9.txt:12 38 | msgid "" 39 | "Fixed invalid HTML in template postmortem on the debug page (:ticket:" 40 | "`26938`)." 41 | msgstr "" 42 | 43 | #: ../../releases/1.9.9.txt:15 44 | msgid "" 45 | "Fixed some GIS database function crashes on MySQL 5.7 (:ticket:`26657`)." 46 | msgstr "" 47 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/topics/db/examples/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-03-24 01:58\n" 11 | "PO-Revision-Date: 2014-10-25 19:26+0400\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 7d6dd94f1d5841708508280feed861b9 22 | #: ../../topics/db/examples/index.txt:3 23 | msgid "Examples of model relationship API usage" 24 | msgstr "Примеры использования API для связи моделей" 25 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/topics/db/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2012-02-17 13:00+0200\n" 12 | "Last-Translator: Automatically generated <>\n" 13 | "Language-Team: none <>\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 4ce6669633f5469885366fff41ae6c6f 22 | #: ../../topics/db/index.txt:3 23 | msgid "Models and databases" 24 | msgstr "Модели и базы данных" 25 | 26 | # ce457432b6e04423acfcb6aa60dbd066 27 | #: ../../topics/db/index.txt:7 28 | msgid "" 29 | "A model is the single, definitive source of data about your data. It " 30 | "contains the essential fields and behaviors of the data you're storing. " 31 | "Generally, each model maps to a single database table." 32 | msgstr "" 33 | "Модель - единственный и основной способ отобразить ваши данные. Она содержит " 34 | "поля и методы для работы с данными, которые вы храните. Как правило, каждая " 35 | "модель отображает одну таблицу в базе данных." 36 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/topics/http/generic-views.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2014. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2013-02-27 00:21\n" 11 | "PO-Revision-Date: 2014-12-29 17:55+0200\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Gtranslator 2.91.6\n" 21 | 22 | # b42b8f9ca71941648321440a9952142f 23 | #: ../../topics/http/generic-views.txt:3 24 | msgid "Generic views" 25 | msgstr "Общие представления" 26 | 27 | # 9ec0fb82f4d3466bb744cbc9136c8ffc 28 | #: ../../topics/http/generic-views.txt:5 29 | msgid "See :doc:`/ref/class-based-views/index`." 30 | msgstr "Смотрите :doc:`/ref/class-based-views/index`." 31 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/topics/http/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2013-09-01 22:06+0400\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # 7049192515a74996b8fe8f69a38ab453 22 | #: ../../topics/http/index.txt:3 23 | msgid "Handling HTTP requests" 24 | msgstr "Обработка HTTP запросов" 25 | 26 | # 98f7b5ceebb24fac9a5648d3c3b97af5 27 | #: ../../topics/http/index.txt:5 28 | msgid "Information on handling HTTP requests in Django:" 29 | msgstr "Информация по обработке HTTP запросов в Django:" 30 | -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/topics/index.po: -------------------------------------------------------------------------------- 1 | # Russian translations for Django package. 2 | # Copyright (C) Django Software Foundation and contributors 3 | # This file is distributed under the same license as the Django package. 4 | # Automatically generated <>, 2012, 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Django 1.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-12-08 11:07+0200\n" 11 | "PO-Revision-Date: 2013-09-01 22:04+0400\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: ru\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | 21 | # e1e2b5554de042da9553f680e8c0fb6d 22 | #: ../../topics/index.txt:3 23 | msgid "Using Django" 24 | msgstr "Использование Django" 25 | 26 | # 7f8e8e67d7c74ee0b62f2d6f6edd8ae4 27 | #: ../../topics/index.txt:5 28 | msgid "Introductions to all the key parts of Django you'll need to know:" 29 | msgstr "" 30 | "Представляем вам все ключевые компоненты Django, которые вам следует знать:" 31 | -------------------------------------------------------------------------------- /man/daily_cleanup.1: -------------------------------------------------------------------------------- 1 | .TH "daily_cleanup.py" "1" "August 2007" "Django Project" "" 2 | .SH "NAME" 3 | daily_cleanup.py \- Database clean-up for the Django Web framework 4 | .SH "SYNOPSIS" 5 | .B daily_cleanup.py 6 | 7 | .SH "DESCRIPTION" 8 | Removes stale session data from a Django database. This means, any session data 9 | which has an expiry date prior to the date the script is run. 10 | .sp 11 | The script can be run manually or can be scheduled to run at regular 12 | intervals as a 13 | .BI cron 14 | job. 15 | 16 | .SH "ENVIRONMENT" 17 | .TP 18 | .I DJANGO_SETTINGS_MODULE 19 | This environment variable defines the settings module to be read. 20 | It should be in Python-import form, e.g. "myproject.settings". 21 | 22 | .SH "SEE ALSO" 23 | The sessions documentation: 24 | .sp 25 | .I http://docs.djangoproject.com/en/dev/topics/http/sessions/ 26 | 27 | .SH "AUTHORS/CREDITS" 28 | Originally developed at World Online in Lawrence, Kansas, USA. Refer to the 29 | AUTHORS file in the Django distribution for contributors. 30 | 31 | .SH "LICENSE" 32 | New BSD license. For the full license text refer to the LICENSE file in the 33 | Django distribution. 34 | 35 | -------------------------------------------------------------------------------- /man/gather_profile_stats.1: -------------------------------------------------------------------------------- 1 | .TH "gather_profile_stats.py" "1" "August 2007" "Django Project" "" 2 | .SH "NAME" 3 | gather_profile_stats.py \- Performance analysis tool for the Django Web 4 | framework 5 | .SH "SYNOPSIS" 6 | .B python gather_profile_stats.py 7 | .I 8 | 9 | .SH "DESCRIPTION" 10 | This utility script aggregates profiling logs generated using Python's 11 | hotshot profiler. The sole command-line argument is the full path to the 12 | directory containing the profiling logfiles. 13 | 14 | .SH "SEE ALSO" 15 | Discussion of profiling Django applications on the Django project's wiki: 16 | .sp 17 | .I https://www.djangoproject.com/wiki/ProfilingDjango 18 | 19 | .SH "AUTHORS/CREDITS" 20 | Originally developed at World Online in Lawrence, Kansas, USA. Refer to the 21 | AUTHORS file in the Django distribution for contributors. 22 | 23 | .SH "LICENSE" 24 | New BSD license. For the full license text refer to the LICENSE file in the 25 | Django distribution. 26 | 27 | -------------------------------------------------------------------------------- /misc/distributions.txt: -------------------------------------------------------------------------------- 1 | =================================== 2 | Third-party distributions of Django 3 | =================================== 4 | 5 | Many third-party distributors are now providing versions of Django integrated 6 | with their package-management systems. These can make installation and upgrading 7 | much easier for users of Django since the integration includes the ability to 8 | automatically install dependencies (like database adapters) that Django 9 | requires. 10 | 11 | Typically, these packages are based on the latest stable release of Django, so 12 | if you want to use the development version of Django you'll need to follow the 13 | instructions for :ref:`installing the development version 14 | ` from our Git repository. 15 | 16 | If you're using Linux or a Unix installation, such as OpenSolaris, 17 | check with your distributor to see if they already package Django. If 18 | you're using a Linux distro and don't know how to find out if a package 19 | is available, then now is a good time to learn. The Django Wiki contains 20 | a list of `Third Party Distributions`_ to help you out. 21 | 22 | .. _`Third Party Distributions`: https://code.djangoproject.com/wiki/Distributions 23 | 24 | 25 | For distributors 26 | ================ 27 | 28 | If you'd like to package Django for distribution, we'd be happy to help out! 29 | Please join the |django-developers| mailing list and introduce yourself. 30 | 31 | We also encourage all distributors to subscribe to the |django-announce| mailing 32 | list, which is a (very) low-traffic list for announcing new releases of Django 33 | and important bugfixes. 34 | -------------------------------------------------------------------------------- /misc/index.txt: -------------------------------------------------------------------------------- 1 | ================================= 2 | Meta-documentation and miscellany 3 | ================================= 4 | 5 | Documentation that we can't find a more organized place for. Like that drawer in 6 | your kitchen with the scissors, batteries, duct tape, and other junk. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | api-stability 12 | design-philosophies 13 | distributions 14 | -------------------------------------------------------------------------------- /obsolete/_images/formrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/obsolete/_images/formrow.png -------------------------------------------------------------------------------- /obsolete/_images/module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/obsolete/_images/module.png -------------------------------------------------------------------------------- /obsolete/_images/objecttools_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/obsolete/_images/objecttools_01.png -------------------------------------------------------------------------------- /obsolete/_images/objecttools_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/obsolete/_images/objecttools_02.png -------------------------------------------------------------------------------- /ref/class-based-views/mixins.txt: -------------------------------------------------------------------------------- 1 | ======================== 2 | Class-based views mixins 3 | ======================== 4 | 5 | Class-based views API reference. For introductory material, see :doc:`/topics/class-based-views/mixins`. 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | mixins-simple 11 | mixins-single-object 12 | mixins-multiple-object 13 | mixins-editing 14 | mixins-date-based 15 | -------------------------------------------------------------------------------- /ref/contrib/admin/_images/actions-as-modeladmin-methods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/actions-as-modeladmin-methods.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/adding-actions-to-the-modeladmin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/adding-actions-to-the-modeladmin.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/admin-actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/admin-actions.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/article_actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/article_actions.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/article_actions_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/article_actions_message.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/fieldsets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/fieldsets.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/flatfiles_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/flatfiles_admin.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/list_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/list_filter.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/raw_id_fields.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/raw_id_fields.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/user_actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/user_actions.png -------------------------------------------------------------------------------- /ref/contrib/admin/_images/users_changelist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/ref/contrib/admin/_images/users_changelist.png -------------------------------------------------------------------------------- /ref/contrib/gis/create_template_postgis-1.3.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | POSTGIS_SQL_PATH=`pg_config --sharedir` 3 | createdb -E UTF8 template_postgis # Create the template spatial database. 4 | createlang -d template_postgis plpgsql # Adding PLPGSQL language support. 5 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" 6 | psql -d template_postgis -f $POSTGIS_SQL_PATH/lwpostgis.sql # Loading the PostGIS SQL routines 7 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql 8 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables. 9 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 10 | -------------------------------------------------------------------------------- /ref/contrib/gis/create_template_postgis-1.4.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib 3 | createdb -E UTF8 template_postgis # Create the template spatial database. 4 | createlang -d template_postgis plpgsql # Adding PLPGSQL language support. 5 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" 6 | psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql # Loading the PostGIS SQL routines 7 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql 8 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables. 9 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 10 | -------------------------------------------------------------------------------- /ref/contrib/gis/create_template_postgis-1.5.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib/postgis-1.5 3 | createdb -E UTF8 template_postgis # Create the template spatial database. 4 | createlang -d template_postgis plpgsql # Adding PLPGSQL language support. 5 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" 6 | psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql # Loading the PostGIS SQL routines 7 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql 8 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables. 9 | psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;" 10 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 11 | -------------------------------------------------------------------------------- /ref/contrib/gis/create_template_postgis-debian.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | GEOGRAPHY=0 4 | POSTGIS_SQL=postgis.sql 5 | 6 | # For Ubuntu 8.x and 9.x releases. 7 | if [ -d "/usr/share/postgresql-8.3-postgis" ] 8 | then 9 | POSTGIS_SQL_PATH=/usr/share/postgresql-8.3-postgis 10 | POSTGIS_SQL=lwpostgis.sql 11 | fi 12 | 13 | # For Ubuntu 10.04 14 | if [ -d "/usr/share/postgresql/8.4/contrib" ] 15 | then 16 | POSTGIS_SQL_PATH=/usr/share/postgresql/8.4/contrib 17 | fi 18 | 19 | # For Ubuntu 10.10 (with PostGIS 1.5) 20 | if [ -d "/usr/share/postgresql/8.4/contrib/postgis-1.5" ] 21 | then 22 | POSTGIS_SQL_PATH=/usr/share/postgresql/8.4/contrib/postgis-1.5 23 | GEOGRAPHY=1 24 | fi 25 | 26 | # For Ubuntu 11.10 / Linux Mint 12 (with PostGIS 1.5) 27 | if [ -d "/usr/share/postgresql/9.1/contrib/postgis-1.5" ] 28 | then 29 | POSTGIS_SQL_PATH=/usr/share/postgresql/9.1/contrib/postgis-1.5 30 | GEOGRAPHY=1 31 | fi 32 | 33 | createdb -E UTF8 template_postgis && \ 34 | ( createlang -d template_postgis -l | grep plpgsql || createlang -d template_postgis plpgsql ) && \ 35 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" && \ 36 | psql -d template_postgis -f $POSTGIS_SQL_PATH/$POSTGIS_SQL && \ 37 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql && \ 38 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" && \ 39 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 40 | 41 | if ((GEOGRAPHY)) 42 | then 43 | psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;" 44 | fi 45 | -------------------------------------------------------------------------------- /ref/contrib/gis/deployment.txt: -------------------------------------------------------------------------------- 1 | =================== 2 | Deploying GeoDjango 3 | =================== 4 | 5 | Basically, the deployment of a GeoDjango application is not different from 6 | the deployment of a normal Django application. Please consult Django's 7 | :doc:`deployment documentation `. 8 | 9 | .. warning:: 10 | 11 | GeoDjango uses the GDAL geospatial library which is 12 | not thread safe at this time. Thus, it is *highly* recommended 13 | to not use threading when deploying -- in other words, use an 14 | appropriate configuration of Apache. 15 | 16 | For example, when configuring your application with ``mod_wsgi``, 17 | set the ``WSGIDaemonProcess`` attribute ``threads`` to ``1``, unless 18 | Apache may crash when running your GeoDjango application. Increase the 19 | number of ``processes`` instead. 20 | -------------------------------------------------------------------------------- /ref/contrib/gis/geodjango_setup.bat: -------------------------------------------------------------------------------- 1 | set OSGEO4W_ROOT=C:\OSGeo4W 2 | set PYTHON_ROOT=C:\Python27 3 | set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal 4 | set PROJ_LIB=%OSGEO4W_ROOT%\share\proj 5 | set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin 6 | reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%" 7 | reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%" 8 | reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%" 9 | -------------------------------------------------------------------------------- /ref/contrib/gis/index.txt: -------------------------------------------------------------------------------- 1 | ========= 2 | GeoDjango 3 | ========= 4 | 5 | .. module:: django.contrib.gis 6 | :synopsis: Geographic Information System (GIS) extensions for Django 7 | 8 | GeoDjango intends to be a world-class geographic Web framework. Its goal is to 9 | make it as easy as possible to build GIS Web applications and harness the power 10 | of spatially enabled data. 11 | 12 | .. toctree:: 13 | :maxdepth: 2 14 | 15 | tutorial 16 | install/index 17 | model-api 18 | db-api 19 | forms-api 20 | geoquerysets 21 | functions 22 | measure 23 | geos 24 | gdal 25 | geoip2 26 | utils 27 | commands 28 | admin 29 | feeds 30 | sitemaps 31 | testing 32 | deployment 33 | -------------------------------------------------------------------------------- /ref/contrib/gis/install/create_template_postgis-1.3.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | POSTGIS_SQL_PATH=`pg_config --sharedir` 3 | createdb -E UTF8 template_postgis # Create the template spatial database. 4 | createlang -d template_postgis plpgsql # Adding PLPGSQL language support. 5 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" 6 | psql -d template_postgis -f $POSTGIS_SQL_PATH/lwpostgis.sql # Loading the PostGIS SQL routines 7 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql 8 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables. 9 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 10 | -------------------------------------------------------------------------------- /ref/contrib/gis/install/create_template_postgis-1.4.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib 3 | createdb -E UTF8 template_postgis # Create the template spatial database. 4 | createlang -d template_postgis plpgsql # Adding PLPGSQL language support. 5 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" 6 | psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql # Loading the PostGIS SQL routines 7 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql 8 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables. 9 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 10 | -------------------------------------------------------------------------------- /ref/contrib/gis/install/create_template_postgis-1.5.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [[ `uname -r | grep el6` ]]; then 3 | POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib/postgis 4 | POSTGIS_SQL_FILE=$POSTGIS_SQL_PATH/postgis-64.sql 5 | else 6 | POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib/postgis-1.5 7 | POSTGIS_SQL_FILE=$POSTGIS_SQL_PATH/postgis.sql 8 | fi 9 | createdb -E UTF8 template_postgis # Create the template spatial database. 10 | createlang -d template_postgis plpgsql # Adding PLPGSQL language support. 11 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" 12 | psql -d template_postgis -f $POSTGIS_SQL_FILE # Loading the PostGIS SQL routines 13 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql 14 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables. 15 | psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;" 16 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 17 | -------------------------------------------------------------------------------- /ref/contrib/gis/install/create_template_postgis-debian.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | POSTGIS_SQL=postgis.sql 4 | 5 | # For Ubuntu 11.10, 12.04 / Linux Mint 12 (with PostGIS 1.5) 6 | if [ -d "/usr/share/postgresql/9.1/contrib/postgis-1.5" ] 7 | then 8 | POSTGIS_SQL_PATH=/usr/share/postgresql/9.1/contrib/postgis-1.5 9 | fi 10 | 11 | createdb -E UTF8 template_postgis && \ 12 | ( createlang -d template_postgis -l | grep plpgsql || createlang -d template_postgis plpgsql ) && \ 13 | psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" && \ 14 | psql -d template_postgis -f $POSTGIS_SQL_PATH/$POSTGIS_SQL && \ 15 | psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql && \ 16 | psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" && \ 17 | psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" 18 | psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;" 19 | -------------------------------------------------------------------------------- /ref/contrib/gis/install/geodjango_setup.bat: -------------------------------------------------------------------------------- 1 | set OSGEO4W_ROOT=C:\OSGeo4W 2 | set PYTHON_ROOT=C:\Python27 3 | set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal 4 | set PROJ_LIB=%OSGEO4W_ROOT%\share\proj 5 | set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin 6 | reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%" 7 | reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%" 8 | reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%" 9 | -------------------------------------------------------------------------------- /ref/contrib/gis/ogrinspect.txt: -------------------------------------------------------------------------------- 1 | ============== 2 | OGR Inspection 3 | ============== 4 | 5 | .. module:: django.contrib.gis.utils.ogrinspect 6 | :synopsis: Utilities for inspecting OGR data sources. 7 | 8 | .. currentmodule:: django.contrib.gis.utils 9 | 10 | ``ogrinspect`` 11 | ============== 12 | 13 | .. function:: ogrinspect(data_source, model_name, **kwargs) 14 | :noindex: 15 | 16 | ``mapping`` 17 | =========== 18 | 19 | .. function:: mapping(data_source, geom_name='geom', layer_key=0, multi_geom=False) 20 | -------------------------------------------------------------------------------- /ref/contrib/gis/sitemaps.txt: -------------------------------------------------------------------------------- 1 | =================== 2 | Geographic Sitemaps 3 | =================== 4 | 5 | KML is an XML language focused on geographic visualization [#]_. ``KMLSitemap`` 6 | and its compressed counterpart ``KMZSitemap`` allow you to present geolocated 7 | data in a machine-readable format. 8 | 9 | Example 10 | ======= 11 | 12 | Reference 13 | ========= 14 | 15 | ``KMLSitemap`` 16 | -------------- 17 | 18 | ``KMZSitemap`` 19 | -------------- 20 | 21 | .. rubric:: Footnotes 22 | .. [#] http://www.opengeospatial.org/standards/kml 23 | -------------------------------------------------------------------------------- /ref/contrib/gis/utils.txt: -------------------------------------------------------------------------------- 1 | =================== 2 | GeoDjango Utilities 3 | =================== 4 | 5 | .. module:: django.contrib.gis.utils 6 | :synopsis: GeoDjango's collection of utilities. 7 | 8 | The :mod:`django.contrib.gis.utils` module contains various utilities that are 9 | useful in creating geospatial Web applications. 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | 14 | layermapping 15 | ogrinspect 16 | serializers 17 | -------------------------------------------------------------------------------- /ref/contrib/postgres/functions.txt: -------------------------------------------------------------------------------- 1 | ====================================== 2 | PostgreSQL specific database functions 3 | ====================================== 4 | 5 | All of these functions are available from the 6 | ``django.contrib.postgres.functions`` module. 7 | 8 | .. currentmodule:: django.contrib.postgres.functions 9 | 10 | ``RandomUUID`` 11 | ============== 12 | 13 | .. class:: RandomUUID() 14 | 15 | .. versionadded:: 2.0 16 | 17 | Returns a version 4 UUID. 18 | 19 | Requires PostgreSQL 9.4 or greater. 20 | 21 | The `pgcrypto extension`_ must be installed. You can use the 22 | :class:`~django.contrib.postgres.operations.CryptoExtension` migration 23 | operation to install it. 24 | 25 | .. _pgcrypto extension: https://www.postgresql.org/docs/current/static/pgcrypto.html 26 | 27 | Usage example:: 28 | 29 | >>> from django.contrib.postgres.functions import RandomUUID 30 | >>> Article.objects.update(uuid=RandomUUID()) 31 | 32 | ``TransactionNow`` 33 | ================== 34 | 35 | .. class:: TransactionNow() 36 | 37 | Returns the date and time on the database server that the current transaction 38 | started. If you are not in a transaction it will return the date and time of 39 | the current statement. This is a complement to 40 | :class:`django.db.models.functions.Now`, which returns the date and time of the 41 | current statement. 42 | 43 | Note that only the outermost call to :func:`~django.db.transaction.atomic()` 44 | sets up a transaction and thus sets the time that ``TransactionNow()`` will 45 | return; nested calls create savepoints which do not affect the transaction 46 | time. 47 | 48 | Usage example:: 49 | 50 | >>> from django.contrib.postgres.functions import TransactionNow 51 | >>> Article.objects.filter(published__lte=TransactionNow()) 52 | ]> 53 | -------------------------------------------------------------------------------- /ref/contrib/postgres/index.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | ``django.contrib.postgres`` 3 | =========================== 4 | 5 | .. module:: django.contrib.postgres 6 | :synopsis: PostgreSQL-specific fields and features 7 | 8 | PostgreSQL has a number of features which are not shared by the other databases 9 | Django supports. This optional module contains model fields and form fields for 10 | a number of PostgreSQL specific data types. 11 | 12 | .. note:: 13 | Django is, and will continue to be, a database-agnostic web framework. We 14 | would encourage those writing reusable applications for the Django 15 | community to write database-agnostic code where practical. However, we 16 | recognize that real world projects written using Django need not be 17 | database-agnostic. In fact, once a project reaches a given size changing 18 | the underlying data store is already a significant challenge and is likely 19 | to require changing the code base in some ways to handle differences 20 | between the data stores. 21 | 22 | Django provides support for a number of data types which will 23 | only work with PostgreSQL. There is no fundamental reason why (for example) 24 | a ``contrib.mysql`` module does not exist, except that PostgreSQL has the 25 | richest feature set of the supported databases so its users have the most 26 | to gain. 27 | 28 | .. toctree:: 29 | :maxdepth: 2 30 | 31 | aggregates 32 | fields 33 | forms 34 | functions 35 | indexes 36 | lookups 37 | operations 38 | search 39 | validators 40 | -------------------------------------------------------------------------------- /ref/contrib/postgres/validators.txt: -------------------------------------------------------------------------------- 1 | ========== 2 | Validators 3 | ========== 4 | 5 | .. module:: django.contrib.postgres.validators 6 | 7 | ``KeysValidator`` 8 | ================= 9 | 10 | .. class:: KeysValidator(keys, strict=False, messages=None) 11 | 12 | Validates that the given keys are contained in the value. If ``strict`` is 13 | ``True``, then it also checks that there are no other keys present. 14 | 15 | The ``messages`` passed should be a dict containing the keys 16 | ``missing_keys`` and/or ``extra_keys``. 17 | 18 | .. note:: 19 | Note that this checks only for the existence of a given key, not that 20 | the value of a key is non-empty. 21 | 22 | Range validators 23 | ================ 24 | 25 | ``RangeMaxValueValidator`` 26 | -------------------------- 27 | 28 | .. class:: RangeMaxValueValidator(limit_value, message=None) 29 | 30 | Validates that the upper bound of the range is not greater than 31 | ``limit_value``. 32 | 33 | ``RangeMinValueValidator`` 34 | -------------------------- 35 | 36 | .. class:: RangeMinValueValidator(limit_value, message=None) 37 | 38 | Validates that the lower bound of the range is not less than the 39 | ``limit_value``. 40 | -------------------------------------------------------------------------------- /ref/files/index.txt: -------------------------------------------------------------------------------- 1 | ============= 2 | File handling 3 | ============= 4 | 5 | .. module:: django.core.files 6 | :synopsis: File handling and storage 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | file 12 | storage 13 | uploads 14 | -------------------------------------------------------------------------------- /ref/forms/formsets.txt: -------------------------------------------------------------------------------- 1 | ================= 2 | Formset Functions 3 | ================= 4 | 5 | Formset API reference. For introductory material about formsets, see the 6 | :doc:`/topics/forms/formsets` topic guide. 7 | 8 | .. module:: django.forms.formsets 9 | :synopsis: Django's functions for building formsets. 10 | 11 | ``formset_factory`` 12 | =================== 13 | 14 | .. function:: formset_factory(form, formset=BaseFormSet, extra=1, can_order=False, can_delete=False, max_num=None, validate_max=False, min_num=None, validate_min=False) 15 | 16 | Returns a ``FormSet`` class for the given ``form`` class. 17 | 18 | See :doc:`formsets ` for example usage. 19 | -------------------------------------------------------------------------------- /ref/forms/index.txt: -------------------------------------------------------------------------------- 1 | ===== 2 | Forms 3 | ===== 4 | 5 | Detailed form API reference. For introductory material, see the 6 | :doc:`/topics/forms/index` topic guide. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | api 12 | fields 13 | models 14 | formsets 15 | renderers 16 | widgets 17 | validation 18 | -------------------------------------------------------------------------------- /ref/index.txt: -------------------------------------------------------------------------------- 1 | ============= 2 | API Reference 3 | ============= 4 | 5 | .. toctree:: 6 | :maxdepth: 1 7 | 8 | applications 9 | checks 10 | class-based-views/index 11 | clickjacking 12 | contrib/index 13 | csrf 14 | databases 15 | django-admin 16 | exceptions 17 | files/index 18 | forms/index 19 | middleware 20 | migration-operations 21 | models/index 22 | request-response 23 | schema-editor 24 | settings 25 | signals 26 | templates/index 27 | template-response 28 | unicode 29 | urlresolvers 30 | urls 31 | utils 32 | validators 33 | views 34 | -------------------------------------------------------------------------------- /ref/models/class.txt: -------------------------------------------------------------------------------- 1 | ===================== 2 | Model class reference 3 | ===================== 4 | 5 | .. currentmodule:: django.db.models 6 | 7 | This document covers features of the :class:`~django.db.models.Model` class. 8 | For more information about models, see :doc:`the complete list of Model 9 | reference guides `. 10 | 11 | Attributes 12 | ========== 13 | 14 | ``objects`` 15 | ----------- 16 | 17 | .. attribute:: Model.objects 18 | 19 | Each non-abstract :class:`~django.db.models.Model` class must have a 20 | :class:`~django.db.models.Manager` instance added to it. 21 | Django ensures that in your model class you have at least a 22 | default ``Manager`` specified. If you don't add your own ``Manager``, 23 | Django will add an attribute ``objects`` containing default 24 | :class:`~django.db.models.Manager` instance. If you add your own 25 | :class:`~django.db.models.Manager` instance attribute, the default one does 26 | not appear. Consider the following example:: 27 | 28 | from django.db import models 29 | 30 | class Person(models.Model): 31 | # Add manager with another name 32 | people = models.Manager() 33 | 34 | For more details on model managers see :doc:`Managers ` 35 | and :ref:`Retrieving objects `. 36 | -------------------------------------------------------------------------------- /ref/models/index.txt: -------------------------------------------------------------------------------- 1 | ====== 2 | Models 3 | ====== 4 | 5 | Model API reference. For introductory material, see :doc:`/topics/db/models`. 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | fields 11 | indexes 12 | meta 13 | relations 14 | class 15 | options 16 | instances 17 | querysets 18 | lookups 19 | expressions 20 | conditional-expressions 21 | database-functions 22 | -------------------------------------------------------------------------------- /ref/templates/index.txt: -------------------------------------------------------------------------------- 1 | ========= 2 | Templates 3 | ========= 4 | 5 | Django's template engine provides a powerful mini-language for defining the 6 | user-facing layer of your application, encouraging a clean separation of 7 | application and presentation logic. Templates can be maintained by anyone with 8 | an understanding of HTML; no knowledge of Python is required. For introductory 9 | material, see :doc:`/topics/templates` topic guide. 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | 14 | language 15 | builtins 16 | api 17 | 18 | .. seealso:: 19 | 20 | For information on writing your own custom tags and filters, see 21 | :doc:`/howto/custom-template-tags`. 22 | 23 | To learn how to override templates in other Django applications, see 24 | :doc:`/howto/overriding-templates`. 25 | -------------------------------------------------------------------------------- /releases/1.10.2.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.10.2 release notes 3 | =========================== 4 | 5 | *October 1, 2016* 6 | 7 | Django 1.10.2 fixes several bugs in 1.10.1. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed a crash in MySQL database validation where ``SELECT @@sql_mode`` 13 | doesn't return a result (:ticket:`27180`). 14 | 15 | * Allowed combining ``contrib.postgres.search.SearchQuery`` with more than one 16 | ``&`` or ``|`` operators (:ticket:`27143`). 17 | 18 | * Disabled system check for URL patterns beginning with a '/' when 19 | ``APPEND_SLASH=False`` (:ticket:`27238`). 20 | 21 | * Fixed model form ``default`` fallback for ``CheckboxSelectMultiple``, 22 | ``MultiWidget``, ``FileInput``, ``SplitDateTimeWidget``, ``SelectDateWidget``, 23 | and ``SplitArrayWidget`` (:ticket:`27186`). Custom widgets affected by this 24 | issue should implement :meth:`~django.forms.Widget.value_omitted_from_data`. 25 | 26 | * Fixed a crash in ``runserver`` logging during a "Broken pipe" error 27 | (:ticket:`27271`). 28 | 29 | * Fixed a regression where unchanged localized date/time fields were listed as 30 | changed in the admin's model history messages (:ticket:`27302`). 31 | -------------------------------------------------------------------------------- /releases/1.10.4.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.10.4 release notes 3 | =========================== 4 | 5 | *December 1, 2016* 6 | 7 | Django 1.10.4 fixes several bugs in 1.10.3. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Quoted the Oracle test user's password in queries to fix the "ORA-00922: 13 | missing or invalid option" error when the password starts with a number or 14 | special character (:ticket:`27420`). 15 | 16 | * Fixed incorrect ``app_label`` / ``model_name`` arguments for 17 | ``allow_migrate()`` in ``makemigrations`` migration consistency checks 18 | (:ticket:`27461`). 19 | 20 | * Made ``Model.delete(keep_parents=True)`` preserve parent reverse 21 | relationships in multi-table inheritance (:ticket:`27407`). 22 | 23 | * Fixed a ``QuerySet.update()`` crash on SQLite when updating a 24 | ``DateTimeField`` with an ``F()`` expression and a ``timedelta`` 25 | (:ticket:`27544`). 26 | 27 | * Prevented ``LocaleMiddleware`` from redirecting on URLs that should return 28 | 404 when using ``prefix_default_language=False`` (:ticket:`27402`). 29 | 30 | * Prevented an unnecessary index from being created on an InnoDB ``ForeignKey`` 31 | when the field was added after the model was created (:ticket:`27558`). 32 | -------------------------------------------------------------------------------- /releases/1.10.5.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.10.5 release notes 3 | =========================== 4 | 5 | *January 4, 2017* 6 | 7 | Django 1.10.5 fixes several bugs in 1.10.4. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed a crash in the debug view if ``request.user`` can't be retrieved, such 13 | as if the database is unavailable (:ticket:`27567`). 14 | 15 | * Fixed occasional missing plural forms in ``JavaScriptCatalog`` 16 | (:ticket:`27418`). 17 | 18 | * Fixed a regression in the ``timesince`` and ``timeuntil`` filters that caused 19 | incorrect results for dates in a leap year (:ticket:`27637`). 20 | 21 | * Fixed a regression where ``collectstatic`` overwrote newer files in remote 22 | storages (:ticket:`27658`). 23 | -------------------------------------------------------------------------------- /releases/1.10.6.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.10.6 release notes 3 | =========================== 4 | 5 | *March 1, 2017* 6 | 7 | Django 1.10.6 fixes several bugs in 1.10.5. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed ``ClearableFileInput``’s "Clear" checkbox on model form fields where 13 | the model field has a ``default`` (:ticket:`27805`). 14 | 15 | * Fixed ``RequestDataTooBig`` and ``TooManyFieldsSent`` exceptions crashing 16 | rather than generating a bad request response (:ticket:`27820`). 17 | 18 | * Fixed a crash on Oracle and PostgreSQL when subtracting ``DurationField`` 19 | or ``IntegerField`` from ``DateField`` (:ticket:`27828`). 20 | 21 | * Fixed query expression date subtraction accuracy on PostgreSQL for 22 | differences larger than a month (:ticket:`27856`). 23 | 24 | * Fixed a ``GDALException`` raised by ``GDALClose`` on GDAL ≥ 2.0 25 | (:ticket:`27479`). 26 | -------------------------------------------------------------------------------- /releases/1.10.7.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.10.7 release notes 3 | =========================== 4 | 5 | *April 4, 2017* 6 | 7 | Django 1.10.7 fixes two security issues and a bug in 1.10.6. 8 | 9 | CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs 10 | ============================================================================================ 11 | 12 | Django relies on user input in some cases (e.g. 13 | :func:`django.contrib.auth.views.login` and :doc:`i18n `) 14 | to redirect the user to an "on success" URL. The security check for these 15 | redirects (namely ``django.utils.http.is_safe_url()``) considered some numeric 16 | URLs (e.g. ``http:999999999``) "safe" when they shouldn't be. 17 | 18 | Also, if a developer relies on ``is_safe_url()`` to provide safe redirect 19 | targets and puts such a URL into a link, they could suffer from an XSS attack. 20 | 21 | CVE-2017-7234: Open redirect vulnerability in ``django.views.static.serve()`` 22 | ============================================================================= 23 | 24 | A maliciously crafted URL to a Django site using the 25 | :func:`~django.views.static.serve` view could redirect to any other domain. The 26 | view no longer does any redirects as they don't provide any known, useful 27 | functionality. 28 | 29 | Note, however, that this view has always carried a warning that it is not 30 | hardened for production use and should be used only as a development aid. 31 | 32 | Bugfixes 33 | ======== 34 | 35 | * Made admin's ``RelatedFieldWidgetWrapper`` use the wrapped widget's 36 | ``value_omitted_from_data()`` method (:ticket:`27905`). 37 | 38 | * Fixed model form ``default`` fallback for ``SelectMultiple`` 39 | (:ticket:`27993`). 40 | -------------------------------------------------------------------------------- /releases/1.10.8.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.10.8 release notes 3 | =========================== 4 | 5 | *September 5, 2017* 6 | 7 | Django 1.10.8 fixes a security issue in 1.10.7. 8 | 9 | CVE-2017-12794: Possible XSS in traceback section of technical 500 debug page 10 | ============================================================================= 11 | 12 | In older versions, HTML autoescaping was disabled in a portion of the template 13 | for the technical 500 debug page. Given the right circumstances, this allowed 14 | a cross-site scripting attack. This vulnerability shouldn't affect most 15 | production sites since you shouldn't run with ``DEBUG = True`` (which makes 16 | this page accessible) in your production settings. 17 | -------------------------------------------------------------------------------- /releases/1.11.4.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.11.4 release notes 3 | =========================== 4 | 5 | *August 1, 2017* 6 | 7 | Django 1.11.4 fixes several bugs in 1.11.3. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed a regression in 1.11.3 on Python 2 where non-ASCII ``format`` values 13 | for date/time widgets results in an empty ``value`` in the widget's HTML 14 | (:ticket:`28355`). 15 | 16 | * Fixed ``QuerySet.union()`` and ``difference()`` when combining with 17 | a queryset raising ``EmptyResultSet`` (:ticket:`28378`). 18 | 19 | * Fixed a regression in pickling of ``LazyObject`` on Python 2 when the wrapped 20 | object doesn't have ``__reduce__()`` (:ticket:`28389`). 21 | 22 | * Fixed crash in ``runserver``'s ``autoreload`` with Python 2 on Windows with 23 | non-``str`` environment variables (:ticket:`28174`). 24 | 25 | * Corrected ``Field.has_changed()`` to return ``False`` for disabled form 26 | fields: ``BooleanField``, ``MultipleChoiceField``, ``MultiValueField``, 27 | ``FileField``, ``ModelChoiceField``, and ``ModelMultipleChoiceField``. 28 | 29 | * Fixed ``QuerySet.count()`` for ``union()``, ``difference()``, and 30 | ``intersection()`` queries. (:ticket:`28399`). 31 | 32 | * Fixed ``ClearableFileInput`` rendering as a subwidget of ``MultiWidget`` 33 | (:ticket:`28414`). Custom ``clearable_file_input.html`` widget templates 34 | will need to adapt for the fact that context values 35 | ``checkbox_name``, ``checkbox_id``, ``is_initial``, ``input_text``, 36 | ``initial_text``, and ``clear_checkbox_label`` are now attributes of 37 | ``widget`` rather than appearing in the top-level context. 38 | 39 | * Fixed queryset crash when using a ``GenericRelation`` to a proxy model 40 | (:ticket:`28418`). 41 | -------------------------------------------------------------------------------- /releases/1.11.6.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.11.6 release notes 3 | =========================== 4 | 5 | *October 5, 2017* 6 | 7 | Django 1.11.6 fixes several bugs in 1.11.5. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Made the ``CharField`` form field convert whitespace-only values to the 13 | ``empty_value`` when ``strip`` is enabled (:ticket:`28555`). 14 | 15 | * Fixed crash when using the name of a model's autogenerated primary key 16 | (``id``) in an ``Index``'s ``fields`` (:ticket:`28597`). 17 | 18 | * Fixed a regression in Django 1.9 where a custom view error handler such as 19 | ``handler404`` that accesses ``csrf_token`` could cause CSRF verification 20 | failures on other pages (:ticket:`28488`). 21 | -------------------------------------------------------------------------------- /releases/1.11.7.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.11.7 release notes 3 | =========================== 4 | 5 | *November 1, 2017* 6 | 7 | Django 1.11.7 fixes several bugs in 1.11.6. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Prevented ``cache.get_or_set()`` from caching ``None`` if the ``default`` 13 | argument is a callable that returns ``None`` (:ticket:`28601`). 14 | 15 | * Fixed the Basque ``DATE_FORMAT`` string (:ticket:`28710`). 16 | 17 | * Made ``QuerySet.reverse()`` affect ``nulls_first`` and ``nulls_last`` 18 | (:ticket:`28722`). 19 | 20 | * Fixed unquoted table names in ``Subquery`` SQL when using ``OuterRef`` 21 | (:ticket:`28689`). 22 | -------------------------------------------------------------------------------- /releases/1.11.8.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.11.8 release notes 3 | =========================== 4 | 5 | *December 2, 2017* 6 | 7 | Django 1.11.8 fixes several bugs in 1.11.7. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Reallowed, following a regression in Django 1.10, ``AuthenticationForm`` to 13 | raise the inactive user error when using ``ModelBackend`` (:ticket:`28645`). 14 | 15 | * Added support for ``QuerySet.values()`` and ``values_list()`` for 16 | ``union()``, ``difference()``, and ``intersection()`` queries 17 | (:ticket:`28781`). 18 | 19 | * Fixed incorrect index name truncation when using a namespaced ``db_table`` 20 | (:ticket:`28792`). 21 | 22 | * Made ``QuerySet.iterator()`` use server-side cursors on PostgreSQL after 23 | ``values()`` and ``values_list()`` (:ticket:`28817`). 24 | 25 | * Fixed crash on SQLite and MySQL when ordering by a filtered subquery that 26 | uses ``nulls_first`` or ``nulls_last`` (:ticket:`28848`). 27 | 28 | * Made query lookups for ``CICharField``, ``CIEmailField``, and ``CITextField`` 29 | use a ``citext`` cast (:ticket:`28702`). 30 | 31 | * Fixed a regression in caching of a ``GenericForeignKey`` when the referenced 32 | model instance uses multi-table inheritance (:ticket:`28856`). 33 | 34 | * Fixed "Cannot change column 'x': used in a foreign key constraint" crash on 35 | MySQL with a sequence of ``AlterField`` and/or ``RenameField`` operations in 36 | a migration (:ticket:`28305`). 37 | -------------------------------------------------------------------------------- /releases/1.2.1.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.2.1 release notes 3 | ========================== 4 | 5 | Django 1.2.1 was released almost immediately after 1.2.0 to correct two small 6 | bugs: one was in the documentation packaging script, the other was a bug_ that 7 | affected datetime form field widgets when localization was enabled. 8 | 9 | .. _bug: https://code.djangoproject.com/ticket/13560 10 | 11 | -------------------------------------------------------------------------------- /releases/1.2.2.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.2.2 release notes 3 | ========================== 4 | 5 | Welcome to Django 1.2.2! 6 | 7 | This is the second "bugfix" release in the Django 1.2 series, 8 | improving the stability and performance of the Django 1.2 codebase. 9 | 10 | Django 1.2.2 maintains backwards compatibility with Django 11 | 1.2.1, but contain a number of fixes and other 12 | improvements. Django 1.2.2 is a recommended upgrade for any 13 | development or deployment currently using or targeting Django 1.2. 14 | 15 | For full details on the new features, backwards incompatibilities, and 16 | deprecated features in the 1.2 branch, see the :doc:`/releases/1.2`. 17 | 18 | One new feature 19 | =============== 20 | 21 | Ordinarily, a point release would not include new features, but in the 22 | case of Django 1.2.2, we have made an exception to this rule. 23 | 24 | In order to test a bug fix that forms part of the 1.2.2 release, it 25 | was necessary to add a feature -- the ``enforce_csrf_checks`` flag -- 26 | to the :ref:`test client `. This flag forces 27 | the test client to perform full CSRF checks on forms. The default 28 | behavior of the test client hasn't changed, but if you want to do 29 | CSRF checks with the test client, it is now possible to do so. 30 | -------------------------------------------------------------------------------- /releases/1.2.3.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.2.3 release notes 3 | ========================== 4 | 5 | Django 1.2.3 fixed a couple of release problems in the 1.2.2 release and was 6 | released two days after 1.2.2. 7 | 8 | This release corrects the following problems: 9 | 10 | * The patch_ applied for the security issue covered in Django 1.2.2 caused 11 | issues with non-ASCII responses using CSRF tokens. 12 | 13 | * The patch also caused issues with some forms, most notably the user-editing 14 | forms in the Django administrative interface. 15 | 16 | * The packaging manifest did not contain the full list of required files. 17 | 18 | .. _patch: https://code.djangoproject.com/changeset/13699 19 | 20 | -------------------------------------------------------------------------------- /releases/1.2.6.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.2.6 release notes 3 | ========================== 4 | 5 | *September 9, 2011* 6 | 7 | Welcome to Django 1.2.6! 8 | 9 | This is the sixth bugfix/security release in the Django 1.2 series, fixing 10 | several security issues present in Django 1.2.5. Django 1.2.6 is a 11 | recommended upgrade for all users of any Django release in the 1.2.X series. 12 | 13 | For a full list of issues addressed in this release, see the `security 14 | advisory`_. 15 | 16 | .. _security advisory: https://www.djangoproject.com/weblog/2011/sep/09/security-releases-issued/ 17 | -------------------------------------------------------------------------------- /releases/1.2.7.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.2.7 release notes 3 | ========================== 4 | 5 | *September 10, 2011* 6 | 7 | Welcome to Django 1.2.7! 8 | 9 | This is the seventh bugfix/security release in the Django 1.2 series. It 10 | replaces Django 1.2.6 due to problems with the 1.2.6 release tarball. 11 | Django 1.2.7 is a recommended upgrade for all users of any Django release in 12 | the 1.2.X series. 13 | 14 | For more information, see the `release advisory`_. 15 | 16 | .. _release advisory: https://www.djangoproject.com/weblog/2011/sep/10/127/ 17 | -------------------------------------------------------------------------------- /releases/1.3.1.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.3.1 release notes 3 | ========================== 4 | 5 | *September 9, 2011* 6 | 7 | Welcome to Django 1.3.1! 8 | 9 | This is the first security release in the Django 1.3 series, fixing several 10 | security issues in Django 1.3. Django 1.3.1 is a recommended upgrade for 11 | all users of Django 1.3. 12 | 13 | For a full list of issues addressed in this release, see the `security 14 | advisory`_. 15 | 16 | .. _security advisory: https://www.djangoproject.com/weblog/2011/sep/09/security-releases-issued/ 17 | -------------------------------------------------------------------------------- /releases/1.3.2.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.3.2 release notes 3 | ========================== 4 | 5 | *July 30, 2012* 6 | 7 | This is the second security release in the Django 1.3 series, fixing several 8 | security issues in Django 1.3. Django 1.3.2 is a recommended upgrade for 9 | all users of Django 1.3. 10 | 11 | For a full list of issues addressed in this release, see the `security 12 | advisory`_. 13 | 14 | .. _security advisory: https://www.djangoproject.com/weblog/2012/jul/30/security-releases-issued/ 15 | -------------------------------------------------------------------------------- /releases/1.3.3.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.3.3 release notes 3 | ========================== 4 | 5 | *August 1, 2012* 6 | 7 | Following Monday's security release of :doc:`Django 1.3.2 `, 8 | we began receiving reports that one of the fixes applied was breaking Python 9 | 2.4 compatibility for Django 1.3. Since Python 2.4 is a supported Python 10 | version for that release series, this release fixes compatibility with 11 | Python 2.4. 12 | -------------------------------------------------------------------------------- /releases/1.3.4.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.3.4 release notes 3 | ========================== 4 | 5 | *October 17, 2012* 6 | 7 | This is the fourth release in the Django 1.3 series. 8 | 9 | Host header poisoning 10 | ===================== 11 | 12 | Some parts of Django -- independent of end-user-written applications -- make 13 | use of full URLs, including domain name, which are generated from the HTTP Host 14 | header. Some attacks against this are beyond Django's ability to control, and 15 | require the web server to be properly configured; Django's documentation has 16 | for some time contained notes advising users on such configuration. 17 | 18 | Django's own built-in parsing of the Host header is, however, still vulnerable, 19 | as was reported to us recently. The Host header parsing in Django 1.3.3 and 20 | Django 1.4.1 -- specifically, ``django.http.HttpRequest.get_host()`` -- was 21 | incorrectly handling username/password information in the header. Thus, for 22 | example, the following Host header would be accepted by Django when running on 23 | "validsite.com":: 24 | 25 | Host: validsite.com:random@evilsite.com 26 | 27 | Using this, an attacker can cause parts of Django -- particularly the 28 | password-reset mechanism -- to generate and display arbitrary URLs to users. 29 | 30 | To remedy this, the parsing in ``HttpRequest.get_host()`` is being modified; 31 | Host headers which contain potentially dangerous content (such as 32 | username/password pairs) now raise the exception 33 | :exc:`django.core.exceptions.SuspiciousOperation`. 34 | 35 | Details of this issue were initially posted online as a `security advisory`_. 36 | 37 | .. _security advisory: https://www.djangoproject.com/weblog/2012/oct/17/security/ 38 | -------------------------------------------------------------------------------- /releases/1.3.7.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.3.7 release notes 3 | ========================== 4 | 5 | *February 20, 2013* 6 | 7 | Django 1.3.7 corrects a packaging problem with yesterday's :doc:`1.3.6 release 8 | `. 9 | 10 | The release contained stray ``.pyc`` files that caused "bad magic number" 11 | errors when running with some versions of Python. This releases corrects this, 12 | and also fixes a bad documentation link in the project template ``settings.py`` 13 | file generated by ``manage.py startproject``. 14 | -------------------------------------------------------------------------------- /releases/1.4.1.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.4.1 release notes 3 | ========================== 4 | 5 | *July 30, 2012* 6 | 7 | This is the first security release in the Django 1.4 series, fixing several 8 | security issues in Django 1.4. Django 1.4.1 is a recommended upgrade for 9 | all users of Django 1.4. 10 | 11 | For a full list of issues addressed in this release, see the `security 12 | advisory`_. 13 | 14 | .. _security advisory: https://www.djangoproject.com/weblog/2012/jul/30/security-releases-issued/ 15 | -------------------------------------------------------------------------------- /releases/1.4.10.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.10 release notes 3 | =========================== 4 | 5 | *November 6, 2013* 6 | 7 | Django 1.4.10 fixes a Python-compatibility bug in the 1.4 series. 8 | 9 | Python compatibility 10 | ==================== 11 | 12 | Django 1.4.9 inadvertently introduced issues with Python 2.5 compatibility. 13 | Django 1.4.10 restores Python 2.5 compatibility. This was issue #21362 in 14 | Django's Trac. 15 | -------------------------------------------------------------------------------- /releases/1.4.12.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.12 release notes 3 | =========================== 4 | 5 | *April 28, 2014* 6 | 7 | Django 1.4.12 fixes a regression in the 1.4.11 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Restored the ability to ``reverse()`` views created using 13 | :func:`functools.partial()` (:ticket:`22486`). 14 | -------------------------------------------------------------------------------- /releases/1.4.15.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.15 release notes 3 | =========================== 4 | 5 | *September 2, 2014* 6 | 7 | Django 1.4.15 fixes a regression in the 1.4.14 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Allowed inherited and m2m fields to be referenced in the admin 13 | (:ticket:`22486`) 14 | -------------------------------------------------------------------------------- /releases/1.4.16.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.16 release notes 3 | =========================== 4 | 5 | *October 22, 2014* 6 | 7 | Django 1.4.16 fixes a couple regressions in the 1.4.14 security release and a 8 | bug preventing the use of some GEOS versions with GeoDjango. 9 | 10 | Bugfixes 11 | ======== 12 | 13 | * Allowed related many-to-many fields to be referenced in the admin 14 | (:ticket:`23604`). 15 | 16 | * Allowed inline and hidden references to admin fields 17 | (:ticket:`23431`). 18 | 19 | * Fixed parsing of the GEOS version string 20 | (:ticket:`20036`). 21 | -------------------------------------------------------------------------------- /releases/1.4.17.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.17 release notes 3 | =========================== 4 | 5 | *January 2, 2015* 6 | 7 | Django 1.4.17 fixes a regression in the 1.4.14 security release. 8 | 9 | Additionally, Django's vendored version of six, ``django.utils.six``, has 10 | been upgraded to the latest release (1.9.0). 11 | 12 | Bugfixes 13 | ======== 14 | 15 | * Fixed a regression with dynamically generated inlines and allowed field 16 | references in the admin (:ticket:`23754`). 17 | -------------------------------------------------------------------------------- /releases/1.4.19.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.19 release notes 3 | =========================== 4 | 5 | *January 27, 2015* 6 | 7 | Django 1.4.19 fixes a regression in the 1.4.18 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * ``GZipMiddleware`` now supports streaming responses. As part of the 1.4.18 13 | security release, the ``django.views.static.serve()`` function was altered 14 | to stream the files it serves. Unfortunately, the ``GZipMiddleware`` consumed 15 | the stream prematurely and prevented files from being served properly 16 | (:ticket:`24158`). 17 | -------------------------------------------------------------------------------- /releases/1.4.20.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.20 release notes 3 | =========================== 4 | 5 | *March 18, 2015* 6 | 7 | Django 1.4.20 fixes one security issue in 1.4.19. 8 | 9 | Mitigated possible XSS attack via user-supplied redirect URLs 10 | ============================================================= 11 | 12 | Django relies on user input in some cases (e.g. 13 | :func:`django.contrib.auth.views.login` and :doc:`i18n `) 14 | to redirect the user to an "on success" URL. The security checks for these 15 | redirects (namely ``django.utils.http.is_safe_url()``) accepted URLs with 16 | leading control characters and so considered URLs like ``\x08javascript:...`` 17 | safe. This issue doesn't affect Django currently, since we only put this URL 18 | into the ``Location`` response header and browsers seem to ignore JavaScript 19 | there. Browsers we tested also treat URLs prefixed with control characters such 20 | as ``%08//example.com`` as relative paths so redirection to an unsafe target 21 | isn't a problem either. 22 | 23 | However, if a developer relies on ``is_safe_url()`` to 24 | provide safe redirect targets and puts such a URL into a link, they could 25 | suffer from an XSS attack as some browsers such as Google Chrome ignore control 26 | characters at the start of a URL in an anchor ``href``. 27 | -------------------------------------------------------------------------------- /releases/1.4.22.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.4.22 release notes 3 | =========================== 4 | 5 | *August 18, 2015* 6 | 7 | Django 1.4.22 fixes a security issue in 1.4.21. 8 | 9 | It also fixes support with pip 7+ by disabling wheel support. Older versions 10 | of 1.4 would silently build a broken wheel when installed with those versions 11 | of pip. 12 | 13 | Denial-of-service possibility in ``logout()`` view by filling session store 14 | =========================================================================== 15 | 16 | Previously, a session could be created when anonymously accessing the 17 | :func:`django.contrib.auth.views.logout` view (provided it wasn't decorated 18 | with :func:`~django.contrib.auth.decorators.login_required` as done in the 19 | admin). This could allow an attacker to easily create many new session records 20 | by sending repeated requests, potentially filling up the session store or 21 | causing other users' session records to be evicted. 22 | 23 | The :class:`~django.contrib.sessions.middleware.SessionMiddleware` has been 24 | modified to no longer create empty session records, including when 25 | :setting:`SESSION_SAVE_EVERY_REQUEST` is active. 26 | 27 | Additionally, the ``contrib.sessions.backends.base.SessionBase.flush()`` and 28 | ``cache_db.SessionStore.flush()`` methods have been modified to avoid creating 29 | a new empty session. Maintainers of third-party session backends should check 30 | if the same vulnerability is present in their backend and correct it if so. 31 | -------------------------------------------------------------------------------- /releases/1.4.5.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.4.5 release notes 3 | ========================== 4 | 5 | *February 20, 2013* 6 | 7 | Django 1.4.5 corrects a packaging problem with yesterday's :doc:`1.4.4 release 8 | `. 9 | 10 | The release contained stray ``.pyc`` files that caused "bad magic number" 11 | errors when running with some versions of Python. This releases corrects this, 12 | and also fixes a bad documentation link in the project template ``settings.py`` 13 | file generated by ``manage.py startproject``. 14 | -------------------------------------------------------------------------------- /releases/1.4.6.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.4.6 release notes 3 | ========================== 4 | 5 | *August 13, 2013* 6 | 7 | Django 1.4.6 fixes one security issue present in previous Django releases in 8 | the 1.4 series, as well as one other bug. 9 | 10 | This is the sixth bugfix/security release in the Django 1.4 series. 11 | 12 | Mitigated possible XSS attack via user-supplied redirect URLs 13 | ============================================================= 14 | 15 | Django relies on user input in some cases (e.g. 16 | :func:`django.contrib.auth.views.login`, ``django.contrib.comments``, and 17 | :doc:`i18n `) to redirect the user to an "on success" URL. 18 | The security checks for these redirects (namely 19 | ``django.utils.http.is_safe_url()``) didn't check if the scheme is ``http(s)`` 20 | and as such allowed ``javascript:...`` URLs to be entered. If a developer 21 | relied on ``is_safe_url()`` to provide safe redirect targets and put such a 22 | URL into a link, they could suffer from a XSS attack. This bug doesn't affect 23 | Django currently, since we only put this URL into the ``Location`` response 24 | header and browsers seem to ignore JavaScript there. 25 | 26 | Bugfixes 27 | ======== 28 | 29 | * Fixed an obscure bug with the :func:`~django.test.override_settings` 30 | decorator. If you hit an ``AttributeError: 'Settings' object has no attribute 31 | '_original_allowed_hosts'`` exception, it's probably fixed (#20636). 32 | -------------------------------------------------------------------------------- /releases/1.4.7.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.4.7 release notes 3 | ========================== 4 | 5 | *September 10, 2013* 6 | 7 | Django 1.4.7 fixes one security issue present in previous Django releases in 8 | the 1.4 series. 9 | 10 | Directory traversal vulnerability in ``ssi`` template tag 11 | ========================================================= 12 | 13 | In previous versions of Django it was possible to bypass the 14 | ``ALLOWED_INCLUDE_ROOTS`` setting used for security with the ``ssi`` 15 | template tag by specifying a relative path that starts with one of the allowed 16 | roots. For example, if ``ALLOWED_INCLUDE_ROOTS = ("/var/www",)`` the following 17 | would be possible: 18 | 19 | .. code-block:: html+django 20 | 21 | {% ssi "/var/www/../../etc/passwd" %} 22 | 23 | In practice this is not a very common problem, as it would require the template 24 | author to put the ``ssi`` file in a user-controlled variable, but it's 25 | possible in principle. 26 | -------------------------------------------------------------------------------- /releases/1.4.8.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.4.8 release notes 3 | ========================== 4 | 5 | *September 14, 2013* 6 | 7 | Django 1.4.8 fixes two security issues present in previous Django releases in 8 | the 1.4 series. 9 | 10 | Denial-of-service via password hashers 11 | ====================================== 12 | 13 | In previous versions of Django, no limit was imposed on the plaintext 14 | length of a password. This allowed a denial-of-service attack through 15 | submission of bogus but extremely large passwords, tying up server 16 | resources performing the (expensive, and increasingly expensive with 17 | the length of the password) calculation of the corresponding hash. 18 | 19 | As of 1.4.8, Django's authentication framework imposes a 4096-byte 20 | limit on passwords and will fail authentication with any submitted 21 | password of greater length. 22 | 23 | Corrected usage of :func:`~django.views.decorators.debug.sensitive_post_parameters` in :mod:`django.contrib.auth`’s admin 24 | ========================================================================================================================= 25 | 26 | The decoration of the ``add_view`` and ``user_change_password`` user admin 27 | views with :func:`~django.views.decorators.debug.sensitive_post_parameters` 28 | did not include :func:`~django.utils.decorators.method_decorator` (required 29 | since the views are methods) resulting in the decorator not being properly 30 | applied. This usage has been fixed and 31 | :func:`~django.views.decorators.debug.sensitive_post_parameters` will now 32 | throw an exception if it's improperly used. 33 | -------------------------------------------------------------------------------- /releases/1.4.9.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.4.9 release notes 3 | ========================== 4 | 5 | *October 23, 2013* 6 | 7 | Django 1.4.9 fixes a security-related bug in the 1.4 series and one other 8 | data corruption bug. 9 | 10 | Readdressed denial-of-service via password hashers 11 | ================================================== 12 | 13 | Django 1.4.8 imposes a 4096-byte limit on passwords in order to mitigate a 14 | denial-of-service attack through submission of bogus but extremely large 15 | passwords. In Django 1.4.9, we've reverted this change and instead improved 16 | the speed of our PBKDF2 algorithm by not rehashing the key on every iteration. 17 | 18 | Bugfixes 19 | ======== 20 | 21 | * Fixed a data corruption bug with ``datetime_safe.datetime.combine`` (#21256). 22 | -------------------------------------------------------------------------------- /releases/1.5.1.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.5.1 release notes 3 | ========================== 4 | 5 | *March 28, 2013* 6 | 7 | This is Django 1.5.1, a bugfix release for Django 1.5. It's completely backwards 8 | compatible with Django 1.5, but includes a handful of fixes. 9 | 10 | The biggest fix is for a memory leak introduced in Django 1.5. Under certain 11 | circumstances, repeated iteration over querysets could leak memory - sometimes 12 | quite a bit of it. If you'd like more information, the details are in 13 | `our ticket tracker`__ (and in `a related issue`__ in Python itself). 14 | 15 | __ https://code.djangoproject.com/ticket/19895 16 | __ https://bugs.python.org/issue17468 17 | 18 | If you've noticed memory problems under Django 1.5, upgrading to 1.5.1 should 19 | fix those issues. 20 | 21 | Django 1.5.1 also includes a couple smaller fixes: 22 | 23 | * Module-level warnings emitted during tests are no longer silently hidden 24 | (:ticket:`18985`). 25 | * Prevented filtering on password hashes in the user admin (:ticket:`20078`). 26 | -------------------------------------------------------------------------------- /releases/1.5.10.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.5.10 release notes 3 | =========================== 4 | 5 | *September 2, 2014* 6 | 7 | Django 1.5.10 fixes a regression in the 1.5.9 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Allowed inherited and m2m fields to be referenced in the admin 13 | (:ticket:`22486`) 14 | -------------------------------------------------------------------------------- /releases/1.5.11.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.5.11 release notes 3 | =========================== 4 | 5 | *October 22, 2014* 6 | 7 | Django 1.5.11 fixes a couple regressions in the 1.5.9 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Allowed related many-to-many fields to be referenced in the admin 13 | (:ticket:`23604`). 14 | 15 | * Allowed inline and hidden references to admin fields 16 | (:ticket:`23431`). 17 | -------------------------------------------------------------------------------- /releases/1.5.12.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.5.12 release notes 3 | =========================== 4 | 5 | *January 2, 2015* 6 | 7 | Django 1.5.12 fixes a regression in the 1.5.9 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed a regression with dynamically generated inlines and allowed field 13 | references in the admin 14 | (:ticket:`23754`). 15 | -------------------------------------------------------------------------------- /releases/1.5.4.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.5.4 release notes 3 | ========================== 4 | 5 | *September 14, 2013* 6 | 7 | This is Django 1.5.4, the fourth release in the Django 1.5 series. It addresses 8 | two security issues and one bug. 9 | 10 | Denial-of-service via password hashers 11 | ====================================== 12 | 13 | In previous versions of Django, no limit was imposed on the plaintext 14 | length of a password. This allowed a denial-of-service attack through 15 | submission of bogus but extremely large passwords, tying up server 16 | resources performing the (expensive, and increasingly expensive with 17 | the length of the password) calculation of the corresponding hash. 18 | 19 | As of 1.5.4, Django's authentication framework imposes a 4096-byte 20 | limit on passwords, and will fail authentication with any submitted 21 | password of greater length. 22 | 23 | Corrected usage of :func:`~django.views.decorators.debug.sensitive_post_parameters` in :mod:`django.contrib.auth`’s admin 24 | ========================================================================================================================= 25 | 26 | The decoration of the ``add_view`` and ``user_change_password`` user admin 27 | views with :func:`~django.views.decorators.debug.sensitive_post_parameters` 28 | did not include :func:`~django.utils.decorators.method_decorator` (required 29 | since the views are methods) resulting in the decorator not being properly 30 | applied. This usage has been fixed and 31 | :func:`~django.views.decorators.debug.sensitive_post_parameters` will now 32 | throw an exception if it's improperly used. 33 | 34 | Bugfixes 35 | ======== 36 | 37 | * Fixed a bug that prevented a ``QuerySet`` that uses 38 | :meth:`~django.db.models.query.QuerySet.prefetch_related` from being pickled 39 | and unpickled more than once (the second pickling attempt raised an 40 | exception) (#21102). 41 | -------------------------------------------------------------------------------- /releases/1.5.5.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.5.5 release notes 3 | ========================== 4 | 5 | *October 23, 2013* 6 | 7 | Django 1.5.5 fixes a couple security-related bugs and several other bugs in the 8 | 1.5 series. 9 | 10 | Readdressed denial-of-service via password hashers 11 | ================================================== 12 | 13 | Django 1.5.4 imposes a 4096-byte limit on passwords in order to mitigate a 14 | denial-of-service attack through submission of bogus but extremely large 15 | passwords. In Django 1.5.5, we've reverted this change and instead improved 16 | the speed of our PBKDF2 algorithm by not rehashing the key on every iteration. 17 | 18 | Properly rotate CSRF token on login 19 | =================================== 20 | 21 | This behavior introduced as a security hardening measure in Django 1.5.2 did 22 | not work properly and is now fixed. 23 | 24 | Bugfixes 25 | ======== 26 | 27 | * Fixed a data corruption bug with ``datetime_safe.datetime.combine`` (#21256). 28 | * Fixed a Python 3 incompatibility in ``django.utils.text.unescape_entities()`` 29 | (#21185). 30 | * Fixed a couple data corruption issues with ``QuerySet`` edge cases under 31 | Oracle and MySQL (#21203, #21126). 32 | * Fixed crashes when using combinations of ``annotate()``, 33 | ``select_related()``, and ``only()`` (#16436). 34 | 35 | Backwards incompatible changes 36 | ============================== 37 | 38 | * The undocumented ``django.core.servers.basehttp.WSGIServerException`` has 39 | been removed. Use ``socket.error`` provided by the standard library instead. 40 | -------------------------------------------------------------------------------- /releases/1.5.7.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.5.7 release notes 3 | ========================== 4 | 5 | *April 28, 2014* 6 | 7 | Django 1.5.7 fixes a regression in the 1.5.6 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Restored the ability to ``reverse()`` views created using 13 | :func:`functools.partial()` (:ticket:`22486`). 14 | -------------------------------------------------------------------------------- /releases/1.6.4.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.6.4 release notes 3 | ========================== 4 | 5 | *April 28, 2014* 6 | 7 | Django 1.6.4 fixes several bugs in 1.6.3. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Added backwards compatibility support for the :mod:`django.contrib.messages` 13 | cookie format of Django 1.4 and earlier to facilitate upgrading to 1.6 from 14 | 1.4 (:ticket:`22426`). 15 | 16 | * Restored the ability to ``reverse()`` views created using 17 | :func:`functools.partial()` (:ticket:`22486`). 18 | 19 | * Fixed the ``object_id`` of the ``LogEntry`` that's created after a user 20 | password change in the admin (:ticket:`22515`). 21 | -------------------------------------------------------------------------------- /releases/1.6.7.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.6.7 release notes 3 | ========================== 4 | 5 | *September 2, 2014* 6 | 7 | Django 1.6.7 fixes several bugs in 1.6.6, including a regression related to 8 | a security fix in that release. 9 | 10 | Bugfixes 11 | ======== 12 | 13 | * Allowed inherited and m2m fields to be referenced in the admin 14 | (:ticket:`23329`). 15 | * Fixed a crash when using ``QuerySet.defer()`` with ``select_related()`` 16 | (:ticket:`23370`). 17 | -------------------------------------------------------------------------------- /releases/1.6.8.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.6.8 release notes 3 | ========================== 4 | 5 | *October 22, 2014* 6 | 7 | Django 1.6.8 fixes a couple regressions in the 1.6.6 security release. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Allowed related many-to-many fields to be referenced in the admin 13 | (:ticket:`23604`). 14 | 15 | * Allowed inline and hidden references to admin fields (:ticket:`23431`). 16 | -------------------------------------------------------------------------------- /releases/1.6.9.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.6.9 release notes 3 | ========================== 4 | 5 | *January 2, 2015* 6 | 7 | Django 1.6.9 fixes a regression in the 1.6.6 security release. 8 | 9 | Additionally, Django's vendored version of six, ``django.utils.six``, has 10 | been upgraded to the latest release (1.9.0). 11 | 12 | Bugfixes 13 | ======== 14 | 15 | * Fixed a regression with dynamically generated inlines and allowed field 16 | references in the admin (:ticket:`23754`). 17 | -------------------------------------------------------------------------------- /releases/1.7.10.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.7.10 release notes 3 | =========================== 4 | 5 | *August 18, 2015* 6 | 7 | Django 1.7.10 fixes a security issue in 1.7.9. 8 | 9 | Denial-of-service possibility in ``logout()`` view by filling session store 10 | =========================================================================== 11 | 12 | Previously, a session could be created when anonymously accessing the 13 | :func:`django.contrib.auth.views.logout` view (provided it wasn't decorated 14 | with :func:`~django.contrib.auth.decorators.login_required` as done in the 15 | admin). This could allow an attacker to easily create many new session records 16 | by sending repeated requests, potentially filling up the session store or 17 | causing other users' session records to be evicted. 18 | 19 | The :class:`~django.contrib.sessions.middleware.SessionMiddleware` has been 20 | modified to no longer create empty session records, including when 21 | :setting:`SESSION_SAVE_EVERY_REQUEST` is active. 22 | 23 | Additionally, the ``contrib.sessions.backends.base.SessionBase.flush()`` and 24 | ``cache_db.SessionStore.flush()`` methods have been modified to avoid creating 25 | a new empty session. Maintainers of third-party session backends should check 26 | if the same vulnerability is present in their backend and correct it if so. 27 | -------------------------------------------------------------------------------- /releases/1.7.11.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.7.11 release notes 3 | =========================== 4 | 5 | *November 24, 2015* 6 | 7 | Django 1.7.11 fixes a security issue and a data loss bug in 1.7.10. 8 | 9 | Fixed settings leak possibility in ``date`` template filter 10 | =========================================================== 11 | 12 | If an application allows users to specify an unvalidated format for dates and 13 | passes this format to the :tfilter:`date` filter, e.g. 14 | ``{{ last_updated|date:user_date_format }}``, then a malicious user could 15 | obtain any secret in the application's settings by specifying a settings key 16 | instead of a date format. e.g. ``"SECRET_KEY"`` instead of ``"j/m/Y"``. 17 | 18 | To remedy this, the underlying function used by the ``date`` template filter, 19 | ``django.utils.formats.get_format()``, now only allows accessing the date/time 20 | formatting settings. 21 | 22 | Bugfixes 23 | ======== 24 | 25 | * Fixed a data loss possibility with :class:`~django.db.models.Prefetch` if 26 | ``to_attr`` is set to a ``ManyToManyField`` (:ticket:`25693`). 27 | -------------------------------------------------------------------------------- /releases/1.7.4.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.7.4 release notes 3 | ========================== 4 | 5 | *January 27, 2015* 6 | 7 | Django 1.7.4 fixes several bugs in 1.7.3. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed a migration crash when unapplying ``contrib.contenttypes``’s or 13 | ``contrib.auth``’s first migration (:ticket:`24075`). 14 | 15 | * Made the migration's ``RenameModel`` operation rename ``ManyToManyField`` 16 | tables (:ticket:`24135`). 17 | 18 | * Fixed a migration crash on MySQL when migrating from a ``OneToOneField`` to a 19 | ``ForeignKey`` (:ticket:`24163`). 20 | 21 | * Prevented the ``static.serve`` view from producing ``ResourceWarning``\s in 22 | certain circumstances (security fix regression, :ticket:`24193`). 23 | 24 | * Fixed schema check for ManyToManyField to look for internal type instead 25 | of checking class instance, so you can write custom m2m-like fields with the 26 | same behavior. (:ticket:`24104`). 27 | -------------------------------------------------------------------------------- /releases/1.7.5.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.7.5 release notes 3 | ========================== 4 | 5 | *February 25, 2015* 6 | 7 | Django 1.7.5 fixes several bugs in 1.7.4. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Reverted a fix that prevented a migration crash when unapplying 13 | ``contrib.contenttypes``’s or ``contrib.auth``’s first migration 14 | (:ticket:`24075`) due to severe impact on the test performance 15 | (:ticket:`24251`) and problems in multi-database setups (:ticket:`24298`). 16 | 17 | * Fixed a regression that prevented custom fields inheriting from 18 | ``ManyToManyField`` from being recognized in migrations (:ticket:`24236`). 19 | 20 | * Fixed crash in ``contrib.sites`` migrations when a default database isn't 21 | used (:ticket:`24332`). 22 | 23 | * Added the ability to set the isolation level on PostgreSQL with psycopg2 ≥ 24 | 2.4.2 (:ticket:`24318`). It was advertised as a new feature in Django 1.6 25 | but it didn't work in practice. 26 | 27 | * Formats for the Azerbaijani locale (``az``) have been added. 28 | -------------------------------------------------------------------------------- /releases/1.7.6.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.7.6 release notes 3 | ========================== 4 | 5 | *March 9, 2015* 6 | 7 | Django 1.7.6 fixes a security issue and several bugs in 1.7.5. 8 | 9 | Mitigated an XSS attack via properties in ``ModelAdmin.readonly_fields`` 10 | ======================================================================== 11 | 12 | The :attr:`ModelAdmin.readonly_fields 13 | ` attribute in the Django 14 | admin allows displaying model fields and model attributes. While the former 15 | were correctly escaped, the latter were not. Thus untrusted content could be 16 | injected into the admin, presenting an exploitation vector for XSS attacks. 17 | 18 | In this vulnerability, every model attribute used in ``readonly_fields`` that 19 | is not an actual model field (e.g. a :class:`property`) will **fail to be 20 | escaped** even if that attribute is not marked as safe. In this release, 21 | autoescaping is now correctly applied. 22 | 23 | Bugfixes 24 | ======== 25 | 26 | * Fixed crash when coercing ``ManyRelatedManager`` to a string 27 | (:ticket:`24352`). 28 | 29 | * Fixed a bug that prevented migrations from adding a foreign key constraint 30 | when converting an existing field to a foreign key (:ticket:`24447`). 31 | -------------------------------------------------------------------------------- /releases/1.7.8.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.7.8 release notes 3 | ========================== 4 | 5 | *May 1, 2015* 6 | 7 | Django 1.7.8 fixes: 8 | 9 | * Database introspection with SQLite 3.8.9 (released April 8, 2015) 10 | (:ticket:`24637`). 11 | 12 | * A database table name quoting regression in 1.7.2 (:ticket:`24605`). 13 | 14 | * The loss of ``null``/``not null`` column properties during field alteration 15 | of MySQL databases (:ticket:`24595`). 16 | -------------------------------------------------------------------------------- /releases/1.8.11.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.11 release notes 3 | =========================== 4 | 5 | *March 5, 2016* 6 | 7 | Django 1.8.11 fixes a regression on Python 2 in the 1.8.10 security release 8 | where ``utils.http.is_safe_url()`` crashes on bytestring URLs (:ticket:`26308`). 9 | -------------------------------------------------------------------------------- /releases/1.8.12.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.12 release notes 3 | =========================== 4 | 5 | *April 1, 2016* 6 | 7 | Django 1.8.12 fixes several bugs in 1.8.11. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Made ``MultiPartParser`` ignore filenames that normalize to an empty string 13 | to fix crash in ``MemoryFileUploadHandler`` on specially crafted user input 14 | (:ticket:`26325`). 15 | 16 | * Fixed data loss on SQLite where ``DurationField`` values with fractional 17 | seconds could be saved as ``None`` (:ticket:`26324`). 18 | 19 | * Restored the functionality of the admin's ``raw_id_fields`` in 20 | ``list_editable`` (:ticket:`26387`). 21 | -------------------------------------------------------------------------------- /releases/1.8.13.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.13 release notes 3 | =========================== 4 | 5 | *May 2, 2016* 6 | 7 | Django 1.8.13 fixes several bugs in 1.8.12. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed ``TimeField`` microseconds round-tripping on MySQL and SQLite 13 | (:ticket:`26498`). 14 | 15 | * Restored conversion of an empty string to null when saving values of 16 | ``GenericIPAddressField`` on SQLite and MySQL (:ticket:`26557`). 17 | -------------------------------------------------------------------------------- /releases/1.8.14.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.14 release notes 3 | =========================== 4 | 5 | *July 18, 2016* 6 | 7 | Django 1.8.14 fixes a security issue and a bug in 1.8.13. 8 | 9 | XSS in admin's add/change related popup 10 | ======================================= 11 | 12 | Unsafe usage of JavaScript's ``Element.innerHTML`` could result in XSS in the 13 | admin's add/change related popup. ``Element.textContent`` is now used to 14 | prevent execution of the data. 15 | 16 | The debug view also used ``innerHTML``. Although a security issue wasn't 17 | identified there, out of an abundance of caution it's also updated to use 18 | ``textContent``. 19 | 20 | Bugfixes 21 | ======== 22 | 23 | * Fixed missing ``varchar/text_pattern_ops`` index on ``CharField`` and 24 | ``TextField`` respectively when using ``AddField`` on PostgreSQL 25 | (:ticket:`26889`). 26 | -------------------------------------------------------------------------------- /releases/1.8.15.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.15 release notes 3 | =========================== 4 | 5 | *September 26, 2016* 6 | 7 | Django 1.8.15 fixes a security issue in 1.8.14. 8 | 9 | CSRF protection bypass on a site with Google Analytics 10 | ====================================================== 11 | 12 | An interaction between Google Analytics and Django's cookie parsing could allow 13 | an attacker to set arbitrary cookies leading to a bypass of CSRF protection. 14 | 15 | The parser for ``request.COOKIES`` is simplified to better match the behavior 16 | of browsers and to mitigate this attack. ``request.COOKIES`` may now contain 17 | cookies that are invalid according to :rfc:`6265` but are possible to set via 18 | ``document.cookie``. 19 | -------------------------------------------------------------------------------- /releases/1.8.17.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.17 release notes 3 | =========================== 4 | 5 | *December 1, 2016* 6 | 7 | Django 1.8.17 fixes a regression in 1.8.16. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Quoted the Oracle test user's password in queries to fix the "ORA-00922: 13 | missing or invalid option" error when the password starts with a number or 14 | special character (:ticket:`27420`). 15 | -------------------------------------------------------------------------------- /releases/1.8.18.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.8.18 release notes 3 | =========================== 4 | 5 | *April 4, 2017* 6 | 7 | Django 1.8.18 fixes two security issues in 1.8.17. 8 | 9 | CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs 10 | ============================================================================================ 11 | 12 | Django relies on user input in some cases (e.g. 13 | :func:`django.contrib.auth.views.login` and :doc:`i18n `) 14 | to redirect the user to an "on success" URL. The security check for these 15 | redirects (namely ``django.utils.http.is_safe_url()``) considered some numeric 16 | URLs (e.g. ``http:999999999``) "safe" when they shouldn't be. 17 | 18 | Also, if a developer relies on ``is_safe_url()`` to provide safe redirect 19 | targets and puts such a URL into a link, they could suffer from an XSS attack. 20 | 21 | CVE-2017-7234: Open redirect vulnerability in ``django.views.static.serve()`` 22 | ============================================================================= 23 | 24 | A maliciously crafted URL to a Django site using the 25 | :func:`~django.views.static.serve` view could redirect to any other domain. The 26 | view no longer does any redirects as they don't provide any known, useful 27 | functionality. 28 | 29 | Note, however, that this view has always carried a warning that it is not 30 | hardened for production use and should be used only as a development aid. 31 | -------------------------------------------------------------------------------- /releases/1.8.9.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.8.9 release notes 3 | ========================== 4 | 5 | *February 1, 2016* 6 | 7 | Django 1.8.9 fixes several bugs in 1.8.8. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed a regression that caused the "user-tools" items to display on the 13 | admin's logout page (:ticket:`26035`). 14 | 15 | * Fixed a crash in the translations system when the current language has no 16 | translations (:ticket:`26046`). 17 | 18 | * Fixed a regression that caused the incorrect day to be selected when opening 19 | the admin calendar widget for timezones from GMT+0100 to GMT+1200 20 | (:ticket:`24980`). 21 | 22 | * Fixed a regression in 1.8.8 causing incorrect index handling in migrations on 23 | PostgreSQL when adding ``db_index=True`` or ``unique=True`` to a 24 | ``CharField`` or ``TextField`` that already had the other specified, or when 25 | removing one of them from a field that had both, or when adding 26 | ``unique=True`` to a field already listed in ``unique_together`` 27 | (:ticket:`26034`). 28 | 29 | * Fixed a crash when using an ``__in`` lookup inside a ``Case`` expression 30 | (:ticket:`26071`). 31 | 32 | * Fixed a crash when using a reverse ``OneToOneField`` in 33 | ``ModelAdmin.readonly_fields`` (:ticket:`26060`). 34 | 35 | * Fixed a regression in Django 1.8.5 that broke copying a ``SimpleLazyObject`` 36 | with ``copy.copy()`` (:ticket:`26122`). 37 | 38 | * Fixed the ``contrib.gis`` map widgets when using 39 | ``USE_THOUSAND_SEPARATOR=True`` (:ticket:`20415`). 40 | -------------------------------------------------------------------------------- /releases/1.9.10.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.9.10 release notes 3 | =========================== 4 | 5 | *September 26, 2016* 6 | 7 | Django 1.9.10 fixes a security issue in 1.9.9. 8 | 9 | CSRF protection bypass on a site with Google Analytics 10 | ====================================================== 11 | 12 | An interaction between Google Analytics and Django's cookie parsing could allow 13 | an attacker to set arbitrary cookies leading to a bypass of CSRF protection. 14 | 15 | The parser for ``request.COOKIES`` is simplified to better match the behavior 16 | of browsers and to mitigate this attack. ``request.COOKIES`` may now contain 17 | cookies that are invalid according to :rfc:`6265` but are possible to set via 18 | ``document.cookie``. 19 | -------------------------------------------------------------------------------- /releases/1.9.12.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.9.12 release notes 3 | =========================== 4 | 5 | *December 1, 2016* 6 | 7 | Django 1.9.12 fixes a regression in 1.9.11. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Quoted the Oracle test user's password in queries to fix the "ORA-00922: 13 | missing or invalid option" error when the password starts with a number or 14 | special character (:ticket:`27420`). 15 | -------------------------------------------------------------------------------- /releases/1.9.13.txt: -------------------------------------------------------------------------------- 1 | =========================== 2 | Django 1.9.13 release notes 3 | =========================== 4 | 5 | *April 4, 2017* 6 | 7 | Django 1.9.13 fixes two security issues and a bug in 1.9.12. This is the final 8 | release of the 1.9.x series. 9 | 10 | CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs 11 | ============================================================================================ 12 | 13 | Django relies on user input in some cases (e.g. 14 | :func:`django.contrib.auth.views.login` and :doc:`i18n `) 15 | to redirect the user to an "on success" URL. The security check for these 16 | redirects (namely ``django.utils.http.is_safe_url()``) considered some numeric 17 | URLs (e.g. ``http:999999999``) "safe" when they shouldn't be. 18 | 19 | Also, if a developer relies on ``is_safe_url()`` to provide safe redirect 20 | targets and puts such a URL into a link, they could suffer from an XSS attack. 21 | 22 | CVE-2017-7234: Open redirect vulnerability in ``django.views.static.serve()`` 23 | ============================================================================= 24 | 25 | A maliciously crafted URL to a Django site using the 26 | :func:`~django.views.static.serve` view could redirect to any other domain. The 27 | view no longer does any redirects as they don't provide any known, useful 28 | functionality. 29 | 30 | Note, however, that this view has always carried a warning that it is not 31 | hardened for production use and should be used only as a development aid. 32 | 33 | Bugfixes 34 | ======== 35 | 36 | * Fixed a regression in the ``timesince`` and ``timeuntil`` filters that caused 37 | incorrect results for dates in a leap year (:ticket:`27637`). 38 | -------------------------------------------------------------------------------- /releases/1.9.4.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.9.4 release notes 3 | ========================== 4 | 5 | *March 5, 2016* 6 | 7 | Django 1.9.4 fixes a regression on Python 2 in the 1.9.3 security release 8 | where ``utils.http.is_safe_url()`` crashes on bytestring URLs (:ticket:`26308`). 9 | -------------------------------------------------------------------------------- /releases/1.9.6.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.9.6 release notes 3 | ========================== 4 | 5 | *May 2, 2016* 6 | 7 | Django 1.9.6 fixes several bugs in 1.9.5. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Added support for relative path redirects to the test client and to 13 | ``SimpleTestCase.assertRedirects()`` because Django 1.9 no longer converts 14 | redirects to absolute URIs (:ticket:`26428`). 15 | 16 | * Fixed ``TimeField`` microseconds round-tripping on MySQL and SQLite 17 | (:ticket:`26498`). 18 | 19 | * Prevented ``makemigrations`` from generating infinite migrations for a model 20 | field that references a ``functools.partial`` (:ticket:`26475`). 21 | 22 | * Fixed a regression where ``SessionBase.pop()`` returned ``None`` rather than 23 | raising a ``KeyError`` for nonexistent values (:ticket:`26520`). 24 | 25 | * Fixed a regression causing the cached template loader to crash when using 26 | template names starting with a dash (:ticket:`26536`). 27 | 28 | * Restored conversion of an empty string to null when saving values of 29 | ``GenericIPAddressField`` on SQLite and MySQL (:ticket:`26557`). 30 | 31 | * Fixed a ``makemessages`` regression where temporary ``.py`` extensions were 32 | leaked in source file paths (:ticket:`26341`). 33 | -------------------------------------------------------------------------------- /releases/1.9.7.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.9.7 release notes 3 | ========================== 4 | 5 | *June 4, 2016* 6 | 7 | Django 1.9.7 fixes several bugs in 1.9.6. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Removed the need for the ``request`` context processor on the admin login 13 | page to fix a regression in 1.9 (:ticket:`26558`). 14 | 15 | * Fixed translation of password validators' ``help_text`` in forms 16 | (:ticket:`26544`). 17 | 18 | * Fixed a regression causing the cached template loader to crash when using 19 | lazy template names (:ticket:`26603`). 20 | 21 | * Fixed ``on_commit`` callbacks execution order when callbacks make 22 | transactions (:ticket:`26627`). 23 | 24 | * Fixed ``HStoreField`` to raise a ``ValidationError`` instead of crashing on 25 | non-dictionary JSON input (:ticket:`26672`). 26 | 27 | * Fixed ``dbshell`` crash on PostgreSQL with an empty database name 28 | (:ticket:`26698`). 29 | 30 | * Fixed a regression in queries on a ``OneToOneField`` that has ``to_field`` 31 | and ``primary_key=True`` (:ticket:`26667`). 32 | -------------------------------------------------------------------------------- /releases/1.9.8.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.9.8 release notes 3 | ========================== 4 | 5 | *July 18, 2016* 6 | 7 | Django 1.9.8 fixes a security issue and several bugs in 1.9.7. 8 | 9 | XSS in admin's add/change related popup 10 | ======================================= 11 | 12 | Unsafe usage of JavaScript's ``Element.innerHTML`` could result in XSS in the 13 | admin's add/change related popup. ``Element.textContent`` is now used to 14 | prevent execution of the data. 15 | 16 | The debug view also used ``innerHTML``. Although a security issue wasn't 17 | identified there, out of an abundance of caution it's also updated to use 18 | ``textContent``. 19 | 20 | Bugfixes 21 | ======== 22 | 23 | * Fixed missing ``varchar/text_pattern_ops`` index on ``CharField`` and 24 | ``TextField`` respectively when using ``AddField`` on PostgreSQL 25 | (:ticket:`26889`). 26 | 27 | * Fixed ``makemessages`` crash on Python 2 with non-ASCII file names 28 | (:ticket:`26897`). 29 | -------------------------------------------------------------------------------- /releases/1.9.9.txt: -------------------------------------------------------------------------------- 1 | ========================== 2 | Django 1.9.9 release notes 3 | ========================== 4 | 5 | *August 1, 2016* 6 | 7 | Django 1.9.9 fixes several bugs in 1.9.8. 8 | 9 | Bugfixes 10 | ======== 11 | 12 | * Fixed invalid HTML in template postmortem on the debug page 13 | (:ticket:`26938`). 14 | 15 | * Fixed some GIS database function crashes on MySQL 5.7 (:ticket:`26657`). 16 | -------------------------------------------------------------------------------- /topics/_images/django_unittest_classes_hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/_images/django_unittest_classes_hierarchy.png -------------------------------------------------------------------------------- /topics/_images/postmortem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/_images/postmortem.png -------------------------------------------------------------------------------- /topics/_images/template-lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/_images/template-lines.png -------------------------------------------------------------------------------- /topics/db/examples/index.txt: -------------------------------------------------------------------------------- 1 | ======================================== 2 | Examples of model relationship API usage 3 | ======================================== 4 | 5 | .. toctree:: 6 | :maxdepth: 1 7 | 8 | many_to_many 9 | many_to_one 10 | one_to_one 11 | -------------------------------------------------------------------------------- /topics/db/index.txt: -------------------------------------------------------------------------------- 1 | ==================== 2 | Models and databases 3 | ==================== 4 | 5 | .. module:: django.db 6 | 7 | A model is the single, definitive source of data about your data. It contains 8 | the essential fields and behaviors of the data you're storing. Generally, each 9 | model maps to a single database table. 10 | 11 | .. toctree:: 12 | :maxdepth: 1 13 | 14 | models 15 | queries 16 | aggregation 17 | search 18 | managers 19 | sql 20 | transactions 21 | multi-db 22 | tablespaces 23 | optimization 24 | instrumentation 25 | examples/index 26 | -------------------------------------------------------------------------------- /topics/external-packages.txt: -------------------------------------------------------------------------------- 1 | ================= 2 | External packages 3 | ================= 4 | 5 | Django ships with a variety of extra, optional tools that solve common 6 | problems (``contrib.*``). For easier maintenance and to trim the size of the 7 | codebase, a few of those applications have been moved out to separate projects. 8 | 9 | Localflavor 10 | =========== 11 | 12 | ``django-localflavor`` is a collection of utilities for particular countries 13 | and cultures. 14 | 15 | * `GitHub `__ 16 | * `Documentation `__ 17 | * `PyPI `__ 18 | 19 | Comments 20 | ======== 21 | 22 | ``django-contrib-comments`` can be used to attach comments to any model, so you 23 | can use it for comments on blog entries, photos, book chapters, or anything 24 | else. Most users will be better served with a custom solution, or a hosted 25 | product like Disqus. 26 | 27 | * `GitHub `__ 28 | * `Documentation `__ 29 | * `PyPI `__ 30 | 31 | Formtools 32 | ========= 33 | 34 | ``django-formtools`` is a collection of assorted utilities to work with forms. 35 | 36 | * `GitHub `__ 37 | * `Documentation `__ 38 | * `PyPI `__ 39 | -------------------------------------------------------------------------------- /topics/http/_images/middleware.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/http/_images/middleware.pdf -------------------------------------------------------------------------------- /topics/http/_images/middleware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/http/_images/middleware.png -------------------------------------------------------------------------------- /topics/http/generic-views.txt: -------------------------------------------------------------------------------- 1 | ============= 2 | Generic views 3 | ============= 4 | 5 | See :doc:`/ref/class-based-views/index`. 6 | -------------------------------------------------------------------------------- /topics/http/index.txt: -------------------------------------------------------------------------------- 1 | ====================== 2 | Handling HTTP requests 3 | ====================== 4 | 5 | Information on handling HTTP requests in Django: 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | urls 11 | views 12 | decorators 13 | file-uploads 14 | shortcuts 15 | generic-views 16 | middleware 17 | sessions 18 | -------------------------------------------------------------------------------- /topics/index.txt: -------------------------------------------------------------------------------- 1 | ============ 2 | Using Django 3 | ============ 4 | 5 | Introductions to all the key parts of Django you'll need to know: 6 | 7 | .. toctree:: 8 | :maxdepth: 2 9 | 10 | install 11 | db/index 12 | http/index 13 | forms/index 14 | templates 15 | class-based-views/index 16 | migrations 17 | files 18 | testing/index 19 | auth/index 20 | cache 21 | conditional-view-processing 22 | signing 23 | email 24 | i18n/index 25 | logging 26 | pagination 27 | security 28 | performance 29 | serialization 30 | settings 31 | signals 32 | checks 33 | external-packages 34 | -------------------------------------------------------------------------------- /topics/testing/_images/django_unittest_classes_hierarchy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/testing/_images/django_unittest_classes_hierarchy.pdf -------------------------------------------------------------------------------- /topics/testing/_images/django_unittest_classes_hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/djbook-ru/django_documentation/9d4e47202765a2222bd53f6f91ed316c2e15ed70/topics/testing/_images/django_unittest_classes_hierarchy.png -------------------------------------------------------------------------------- /topics/testing/index.txt: -------------------------------------------------------------------------------- 1 | ================= 2 | Testing in Django 3 | ================= 4 | 5 | Automated testing is an extremely useful bug-killing tool for the modern 6 | Web developer. You can use a collection of tests -- a **test suite** -- to 7 | solve, or avoid, a number of problems: 8 | 9 | * When you're writing new code, you can use tests to validate your code 10 | works as expected. 11 | 12 | * When you're refactoring or modifying old code, you can use tests to 13 | ensure your changes haven't affected your application's behavior 14 | unexpectedly. 15 | 16 | Testing a Web application is a complex task, because a Web application is made 17 | of several layers of logic -- from HTTP-level request handling, to form 18 | validation and processing, to template rendering. With Django's test-execution 19 | framework and assorted utilities, you can simulate requests, insert test data, 20 | inspect your application's output and generally verify your code is doing what 21 | it should be doing. 22 | 23 | The best part is, it's really easy. 24 | 25 | The preferred way to write tests in Django is using the :mod:`unittest` module 26 | built in to the Python standard library. This is covered in detail in the 27 | :doc:`overview` document. 28 | 29 | You can also use any *other* Python test framework; Django provides an API and 30 | tools for that kind of integration. They are described in the 31 | :ref:`other-testing-frameworks` section of :doc:`advanced`. 32 | 33 | .. toctree:: 34 | :maxdepth: 1 35 | 36 | overview 37 | tools 38 | advanced 39 | --------------------------------------------------------------------------------