summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2018-05-12 19:37:42 +0200
committerGitHub <noreply@github.com>2018-05-12 19:37:42 +0200
commit35319bf12ccefe1911588493484160aa49208f89 (patch)
treefe1cb029786e49622e6ba3af3ddf3dc9956502ff
parent1b7d524cfa7b7834af26c99407af66be6813938d (diff)
downloaddjango-35319bf12ccefe1911588493484160aa49208f89.tar.gz
Alphabetized imports in various docs.
Follow-up of d97cce34096043b019e818a7fb98c0f9f073704c and 7d3fe36c626a3268413eb86d37920f132eb4a54f.
-rw-r--r--docs/howto/outputting-csv.txt2
-rw-r--r--docs/howto/outputting-pdf.txt2
-rw-r--r--docs/intro/overview.txt2
-rw-r--r--docs/intro/tutorial02.txt4
-rw-r--r--docs/intro/tutorial04.txt4
-rw-r--r--docs/intro/tutorial05.txt2
-rw-r--r--docs/ref/class-based-views/generic-display.txt4
-rw-r--r--docs/ref/class-based-views/generic-editing.txt4
-rw-r--r--docs/ref/contrib/admin/actions.txt2
-rw-r--r--docs/ref/contrib/admin/index.txt20
-rw-r--r--docs/ref/contrib/contenttypes.txt4
-rw-r--r--docs/ref/contrib/gis/measure.txt2
-rw-r--r--docs/ref/contrib/gis/tutorial.txt4
-rw-r--r--docs/ref/contrib/postgres/forms.txt4
-rw-r--r--docs/ref/contrib/sites.txt10
-rw-r--r--docs/ref/contrib/syndication.txt2
-rw-r--r--docs/ref/csrf.txt6
-rw-r--r--docs/ref/forms/validation.txt2
-rw-r--r--docs/ref/models/conditional-expressions.txt4
-rw-r--r--docs/ref/models/database-functions.txt2
-rw-r--r--docs/ref/models/expressions.txt4
-rw-r--r--docs/ref/models/instances.txt2
-rw-r--r--docs/ref/urlresolvers.txt2
-rw-r--r--docs/topics/class-based-views/generic-display.txt4
-rw-r--r--docs/topics/class-based-views/generic-editing.txt6
-rw-r--r--docs/topics/class-based-views/mixins.txt4
-rw-r--r--docs/topics/db/aggregation.txt6
-rw-r--r--docs/topics/email.txt2
-rw-r--r--docs/topics/files.txt4
-rw-r--r--docs/topics/forms/index.txt2
-rw-r--r--docs/topics/forms/modelforms.txt4
-rw-r--r--docs/topics/http/urls.txt4
-rw-r--r--docs/topics/i18n/translation.txt6
-rw-r--r--docs/topics/pagination.txt2
-rw-r--r--docs/topics/testing/advanced.txt2
-rw-r--r--docs/topics/testing/tools.txt2
36 files changed, 71 insertions, 71 deletions
diff --git a/docs/howto/outputting-csv.txt b/docs/howto/outputting-csv.txt
index f6bc79c630..3c06a72973 100644
--- a/docs/howto/outputting-csv.txt
+++ b/docs/howto/outputting-csv.txt
@@ -105,7 +105,7 @@ template output the commas in a :ttag:`for` loop.
Here's an example, which generates the same CSV file as above::
from django.http import HttpResponse
- from django.template import loader, Context
+ from django.template import Content, loader
def some_view(request):
# Create the HttpResponse object with the appropriate CSV header.
diff --git a/docs/howto/outputting-pdf.txt b/docs/howto/outputting-pdf.txt
index 2f33fe8200..fa911df169 100644
--- a/docs/howto/outputting-pdf.txt
+++ b/docs/howto/outputting-pdf.txt
@@ -46,8 +46,8 @@ objects are file-like objects.
Here's a "Hello World" example::
- from reportlab.pdfgen import canvas
from django.http import HttpResponse
+ from reportlab.pdfgen import canvas
def some_view(request):
# Create the HttpResponse object with the appropriate PDF headers.
diff --git a/docs/intro/overview.txt b/docs/intro/overview.txt
index 7cf17ba376..e091ab0229 100644
--- a/docs/intro/overview.txt
+++ b/docs/intro/overview.txt
@@ -69,7 +69,7 @@ necessary:
.. code-block:: python
# Import the models we created from our "news" app
- >>> from news.models import Reporter, Article
+ >>> from news.models import Article, Reporter
# No reporters are in the system yet.
>>> Reporter.objects.all()
diff --git a/docs/intro/tutorial02.txt b/docs/intro/tutorial02.txt
index 12e1a73630..631536b515 100644
--- a/docs/intro/tutorial02.txt
+++ b/docs/intro/tutorial02.txt
@@ -383,7 +383,7 @@ the Python import path to your :file:`mysite/settings.py` file.
Once you're in the shell, explore the :doc:`database API </topics/db/queries>`::
- >>> from polls.models import Question, Choice # Import the model classes we just wrote.
+ >>> from polls.models import Choice, Question # Import the model classes we just wrote.
# No questions are in the system yet.
>>> Question.objects.all()
@@ -469,7 +469,7 @@ the :doc:`time zone support docs </topics/i18n/timezones>`.
Save these changes and start a new Python interactive shell by running
``python manage.py shell`` again::
- >>> from polls.models import Question, Choice
+ >>> from polls.models import Choice, Question
# Make sure our __str__() addition worked.
>>> Question.objects.all()
diff --git a/docs/intro/tutorial04.txt b/docs/intro/tutorial04.txt
index 8e1f8d9aef..65caef3043 100644
--- a/docs/intro/tutorial04.txt
+++ b/docs/intro/tutorial04.txt
@@ -69,8 +69,8 @@ create a real version. Add the following to ``polls/views.py``:
.. snippet::
:filename: polls/views.py
+ from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
- from django.http import HttpResponseRedirect, HttpResponse
from django.urls import reverse
from .models import Choice, Question
@@ -262,8 +262,8 @@ views and use Django's generic views instead. To do so, open the
.. snippet::
:filename: polls/views.py
- from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
+ from django.shortcuts import get_object_or_404, render
from django.urls import reverse
from django.views import generic
diff --git a/docs/intro/tutorial05.txt b/docs/intro/tutorial05.txt
index 28b79f6962..59fea496ca 100644
--- a/docs/intro/tutorial05.txt
+++ b/docs/intro/tutorial05.txt
@@ -171,8 +171,8 @@ Put the following in the ``tests.py`` file in the ``polls`` application:
import datetime
- from django.utils import timezone
from django.test import TestCase
+ from django.utils import timezone
from .models import Question
diff --git a/docs/ref/class-based-views/generic-display.txt b/docs/ref/class-based-views/generic-display.txt
index 15d3351d48..044f16d9e5 100644
--- a/docs/ref/class-based-views/generic-display.txt
+++ b/docs/ref/class-based-views/generic-display.txt
@@ -38,8 +38,8 @@ many projects they are typically the most commonly used views.
**Example myapp/views.py**::
- from django.views.generic.detail import DetailView
from django.utils import timezone
+ from django.views.generic.detail import DetailView
from articles.models import Article
@@ -107,8 +107,8 @@ many projects they are typically the most commonly used views.
**Example views.py**::
- from django.views.generic.list import ListView
from django.utils import timezone
+ from django.views.generic.list import ListView
from articles.models import Article
diff --git a/docs/ref/class-based-views/generic-editing.txt b/docs/ref/class-based-views/generic-editing.txt
index 969a033a31..7979eb19b7 100644
--- a/docs/ref/class-based-views/generic-editing.txt
+++ b/docs/ref/class-based-views/generic-editing.txt
@@ -15,8 +15,8 @@ editing content:
Some of the examples on this page assume that an ``Author`` model has been
defined as follows in ``myapp/models.py``::
- from django.urls import reverse
from django.db import models
+ from django.urls import reverse
class Author(models.Model):
name = models.CharField(max_length=200)
@@ -226,8 +226,8 @@ editing content:
**Example myapp/views.py**::
- from django.views.generic.edit import DeleteView
from django.urls import reverse_lazy
+ from django.views.generic.edit import DeleteView
from myapp.models import Author
class AuthorDelete(DeleteView):
diff --git a/docs/ref/contrib/admin/actions.txt b/docs/ref/contrib/admin/actions.txt
index c23c647a72..0eb6de5b11 100644
--- a/docs/ref/contrib/admin/actions.txt
+++ b/docs/ref/contrib/admin/actions.txt
@@ -220,8 +220,8 @@ example, you might write a simple export function that uses Django's
:doc:`serialization functions </topics/serialization>` to dump some selected
objects as JSON::
- from django.http import HttpResponse
from django.core import serializers
+ from django.http import HttpResponse
def export_as_json(modeladmin, request, queryset):
response = HttpResponse(content_type="application/json")
diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
index 29bd436fe0..3cf13572a2 100644
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -128,7 +128,7 @@ The ``register`` decorator
argument::
from django.contrib import admin
- from .models import Author, Reader, Editor
+ from .models import Author, Editor, Reader
from myproject.admin_site import custom_admin_site
@admin.register(Author, Reader, Editor, site=custom_admin_site)
@@ -502,12 +502,12 @@ subclass::
that we'd like to use for large text fields instead of the default
``<textarea>``. Here's how we'd do that::
- from django.db import models
from django.contrib import admin
+ from django.db import models
# Import our custom widget and our model from where they're defined
- from myapp.widgets import RichTextEditorWidget
from myapp.models import MyModel
+ from myapp.widgets import RichTextEditorWidget
class MyModelAdmin(admin.ModelAdmin):
formfield_overrides = {
@@ -581,8 +581,8 @@ subclass::
the same as the callable, but ``self`` in this context is the model
instance. Here's a full model example::
- from django.db import models
from django.contrib import admin
+ from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50)
@@ -616,8 +616,8 @@ subclass::
Here's a full example model::
- from django.db import models
from django.contrib import admin
+ from django.db import models
from django.utils.html import format_html
class Person(models.Model):
@@ -670,8 +670,8 @@ subclass::
Here's a full example model::
- from django.db import models
from django.contrib import admin
+ from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=50)
@@ -699,8 +699,8 @@ subclass::
For example::
- from django.db import models
from django.contrib import admin
+ from django.db import models
from django.utils.html import format_html
class Person(models.Model):
@@ -2572,8 +2572,8 @@ Using generic relations as an inline
It is possible to use an inline with generically related objects. Let's say
you have the following models::
- from django.db import models
from django.contrib.contenttypes.fields import GenericForeignKey
+ from django.db import models
class Image(models.Model):
image = models.ImageField(upload_to="images")
@@ -3001,7 +3001,7 @@ respectively::
# urls.py
from django.urls import path
- from myproject.admin import basic_site, advanced_site
+ from myproject.admin import advanced_site, basic_site
urlpatterns = [
path('basic-admin/', basic_site.urls),
@@ -3111,7 +3111,7 @@ password box.
For example, to get a list of all additions done through the admin::
- from django.contrib.admin.models import LogEntry, ADDITION
+ from django.contrib.admin.models import ADDITION, LogEntry
LogEntry.objects.filter(action_flag=ADDITION)
diff --git a/docs/ref/contrib/contenttypes.txt b/docs/ref/contrib/contenttypes.txt
index bc73308b69..e01001baf7 100644
--- a/docs/ref/contrib/contenttypes.txt
+++ b/docs/ref/contrib/contenttypes.txt
@@ -241,9 +241,9 @@ generic (sometimes called "polymorphic") relationships between models.
A simple example is a tagging system, which might look like this::
- from django.db import models
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
+ from django.db import models
class TaggedItem(models.Model):
tag = models.SlugField()
@@ -371,8 +371,8 @@ Reverse generic relations
If you know which models you'll be using most often, you can also add
a "reverse" generic relationship to enable an additional API. For example::
- from django.db import models
from django.contrib.contenttypes.fields import GenericRelation
+ from django.db import models
class Bookmark(models.Model):
url = models.URLField()
diff --git a/docs/ref/contrib/gis/measure.txt b/docs/ref/contrib/gis/measure.txt
index 2c76ccdbad..d85ebab31b 100644
--- a/docs/ref/contrib/gis/measure.txt
+++ b/docs/ref/contrib/gis/measure.txt
@@ -18,7 +18,7 @@ Example
context of the units. In the example below, two different distance objects are
instantiated in units of kilometers (``km``) and miles (``mi``)::
- >>> from django.contrib.gis.measure import Distance, D
+ >>> from django.contrib.gis.measure import D, Distance
>>> d1 = Distance(km=5)
>>> print(d1)
5.0 km
diff --git a/docs/ref/contrib/gis/tutorial.txt b/docs/ref/contrib/gis/tutorial.txt
index 8ffa41d4a2..7c730e41aa 100644
--- a/docs/ref/contrib/gis/tutorial.txt
+++ b/docs/ref/contrib/gis/tutorial.txt
@@ -620,7 +620,7 @@ example, coordinates will be expressed in `EPSG SRID 32140`__,
a coordinate system specific to south Texas **only** and in units of
**meters**, not degrees::
- >>> from django.contrib.gis.geos import Point, GEOSGeometry
+ >>> from django.contrib.gis.geos import GEOSGeometry, Point
>>> pnt = Point(954158.1, 4215137.1, srid=32140)
Note that ``pnt`` may also be constructed with EWKT, an "extended" form of
@@ -722,7 +722,7 @@ Let's dive right in. Create a file called ``admin.py`` inside the
Next, edit your ``urls.py`` in the ``geodjango`` application folder as follows::
from django.contrib.gis import admin
- from django.urls import path, include
+ from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
diff --git a/docs/ref/contrib/postgres/forms.txt b/docs/ref/contrib/postgres/forms.txt
index 61b5a26eb6..04adbc3a40 100644
--- a/docs/ref/contrib/postgres/forms.txt
+++ b/docs/ref/contrib/postgres/forms.txt
@@ -26,8 +26,8 @@ Fields
to render any HTML, but it is used to process the submitted data and
validate it. For example::
- >>> from django.contrib.postgres.forms import SimpleArrayField
>>> from django import forms
+ >>> from django.contrib.postgres.forms import SimpleArrayField
>>> class NumberListForm(forms.Form):
... numbers = SimpleArrayField(forms.IntegerField())
@@ -48,8 +48,8 @@ Fields
value is used to split the submitted data. It allows you to chain
``SimpleArrayField`` for multidimensional data::
- >>> from django.contrib.postgres.forms import SimpleArrayField
>>> from django import forms
+ >>> from django.contrib.postgres.forms import SimpleArrayField
>>> class GridForm(forms.Form):
... places = SimpleArrayField(SimpleArrayField(IntegerField()), delimiter='|')
diff --git a/docs/ref/contrib/sites.txt b/docs/ref/contrib/sites.txt
index dc8ac87e80..b5c3889bef 100644
--- a/docs/ref/contrib/sites.txt
+++ b/docs/ref/contrib/sites.txt
@@ -63,8 +63,8 @@ article is associated with one or more sites. In Django model terminology,
that's represented by a :class:`~django.db.models.ManyToManyField` in the
``Article`` model::
- from django.db import models
from django.contrib.sites.models import Site
+ from django.db import models
class Article(models.Model):
headline = models.CharField(max_length=200)
@@ -106,8 +106,8 @@ model in a many-to-one relationship, using
For example, if an article is only allowed on a single site, you'd use a model
like this::
- from django.db import models
from django.contrib.sites.models import Site
+ from django.db import models
class Article(models.Model):
headline = models.CharField(max_length=200)
@@ -218,7 +218,7 @@ different template directories (:setting:`DIRS <TEMPLATES-DIRS>`), you could
simply farm out to the template system like so::
from django.core.mail import send_mail
- from django.template import loader, Context
+ from django.template import Context, loader
def register_for_newsletter(request):
# Check form values, etc., and subscribe the user.
@@ -325,9 +325,9 @@ with the current :class:`~django.contrib.sites.models.Site`.
Use :class:`~django.contrib.sites.managers.CurrentSiteManager` by adding it to
your model explicitly. For example::
- from django.db import models
from django.contrib.sites.models import Site
from django.contrib.sites.managers import CurrentSiteManager
+ from django.db import models
class Photo(models.Model):
photo = models.FileField(upload_to='photos')
@@ -362,9 +362,9 @@ a parameter to
model. The following model, which has a field called ``publish_on``,
demonstrates this::
- from django.db import models
from django.contrib.sites.models import Site
from django.contrib.sites.managers import CurrentSiteManager
+ from django.db import models
class Photo(models.Model):
photo = models.FileField(upload_to='photos')
diff --git a/docs/ref/contrib/syndication.txt b/docs/ref/contrib/syndication.txt
index 0685c4c90d..ab3fcba5d4 100644
--- a/docs/ref/contrib/syndication.txt
+++ b/docs/ref/contrib/syndication.txt
@@ -367,7 +367,7 @@ Here's a full example::
And the accompanying URLconf::
from django.urls import path
- from myproject.feeds import RssSiteNewsFeed, AtomSiteNewsFeed
+ from myproject.feeds import AtomSiteNewsFeed, RssSiteNewsFeed
urlpatterns = [
# ...
diff --git a/docs/ref/csrf.txt b/docs/ref/csrf.txt
index 2664a6270f..a66ca237e0 100644
--- a/docs/ref/csrf.txt
+++ b/docs/ref/csrf.txt
@@ -202,8 +202,8 @@ both is fine, and will incur minimal overhead.
Usage::
- from django.views.decorators.csrf import csrf_protect
from django.shortcuts import render
+ from django.views.decorators.csrf import csrf_protect
@csrf_protect
def my_view(request):
@@ -400,8 +400,8 @@ class-based views<decorating-class-based-views>`.
This decorator marks a view as being exempt from the protection ensured by
the middleware. Example::
- from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
+ from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view(request):
@@ -417,8 +417,8 @@ class-based views<decorating-class-based-views>`.
Example::
- from django.views.decorators.csrf import requires_csrf_token
from django.shortcuts import render
+ from django.views.decorators.csrf import requires_csrf_token
@requires_csrf_token
def my_view(request):
diff --git a/docs/ref/forms/validation.txt b/docs/ref/forms/validation.txt
index 91e18e5b33..72af31d907 100644
--- a/docs/ref/forms/validation.txt
+++ b/docs/ref/forms/validation.txt
@@ -229,8 +229,8 @@ defined on the :class:`~django.forms.Field` class itself with the
Simple validators can be used to validate values inside the field, let's have
a look at Django's ``SlugField``::
- from django.forms import CharField
from django.core import validators
+ from django.forms import CharField
class SlugField(CharField):
default_validators = [validators.validate_slug]
diff --git a/docs/ref/models/conditional-expressions.txt b/docs/ref/models/conditional-expressions.txt
index 643bdddae0..80146917d7 100644
--- a/docs/ref/models/conditional-expressions.txt
+++ b/docs/ref/models/conditional-expressions.txt
@@ -48,7 +48,7 @@ keyword.
Some examples::
- >>> from django.db.models import When, F, Q
+ >>> from django.db.models import F, Q, When
>>> # String arguments refer to fields; the following two examples are equivalent:
>>> When(account_type=Client.GOLD, then='name')
>>> When(account_type=Client.GOLD, then=F('name'))
@@ -88,7 +88,7 @@ A simple example::
>>>
>>> from datetime import date, timedelta
- >>> from django.db.models import CharField, Case, Value, When
+ >>> from django.db.models import Case, CharField, Value, When
>>> Client.objects.create(
... name='Jane Doe',
... account_type=Client.REGULAR,
diff --git a/docs/ref/models/database-functions.txt b/docs/ref/models/database-functions.txt
index d86853cc12..494c175843 100644
--- a/docs/ref/models/database-functions.txt
+++ b/docs/ref/models/database-functions.txt
@@ -979,7 +979,7 @@ than 0. If ``length`` is ``None``, then the rest of the string will be returned.
Usage example::
>>> # Set the alias to the first 5 characters of the name as lowercase
- >>> from django.db.models.functions import Substr, Lower
+ >>> from django.db.models.functions import Lower, Substr
>>> Author.objects.create(name='Margaret Smith')
>>> Author.objects.update(alias=Lower(Substr('name', 1, 5)))
1
diff --git a/docs/ref/models/expressions.txt b/docs/ref/models/expressions.txt
index 1fdc5f7116..a929e8a98f 100644
--- a/docs/ref/models/expressions.txt
+++ b/docs/ref/models/expressions.txt
@@ -26,7 +26,7 @@ Some examples
.. code-block:: python
- from django.db.models import F, Count, Value
+ from django.db.models import Count, F, Value
from django.db.models.functions import Length, Upper
# Find companies that have more employees than chairs.
@@ -252,7 +252,7 @@ is null) after companies that have been contacted::
database functions like ``COALESCE`` and ``LOWER``, or aggregates like ``SUM``.
They can be used directly::
- from django.db.models import Func, F
+ from django.db.models import F, Func
queryset.annotate(field_lower=Func(F('field'), function='LOWER'))
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
index 73bbeb8f31..23572f7362 100644
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -277,7 +277,7 @@ will be stored in a special error dictionary key,
:data:`~django.core.exceptions.NON_FIELD_ERRORS`. This key is used for errors
that are tied to the entire model instead of to a specific field::
- from django.core.exceptions import ValidationError, NON_FIELD_ERRORS
+ from django.core.exceptions import NON_FIELD_ERRORS, ValidationError
try:
article.full_clean()
except ValidationError as e:
diff --git a/docs/ref/urlresolvers.txt b/docs/ref/urlresolvers.txt
index aa814a9e40..0afdc4430f 100644
--- a/docs/ref/urlresolvers.txt
+++ b/docs/ref/urlresolvers.txt
@@ -176,7 +176,7 @@ view would raise a ``Http404`` error before redirecting to it::
from urllib.parse import urlparse
from django.urls import resolve
- from django.http import HttpResponseRedirect, Http404
+ from django.http import Http404, HttpResponseRedirect
def myview(request):
next = request.META.get('HTTP_REFERER', None) or '/'
diff --git a/docs/topics/class-based-views/generic-display.txt b/docs/topics/class-based-views/generic-display.txt
index 2f41b0b500..d73b68b07d 100644
--- a/docs/topics/class-based-views/generic-display.txt
+++ b/docs/topics/class-based-views/generic-display.txt
@@ -210,7 +210,7 @@ The default implementation simply adds the object being displayed to the
template, but you can override it to send more::
from django.views.generic import DetailView
- from books.models import Publisher, Book
+ from books.models import Book, Publisher
class PublisherDetail(DetailView):
@@ -409,8 +409,8 @@ custom view::
Then we'd write our new view -- ``get_object`` is the method that retrieves the
object -- so we simply override it and wrap the call::
- from django.views.generic import DetailView
from django.utils import timezone
+ from django.views.generic import DetailView
from books.models import Author
class AuthorDetailView(DetailView):
diff --git a/docs/topics/class-based-views/generic-editing.txt b/docs/topics/class-based-views/generic-editing.txt
index 69f2158021..15e136939f 100644
--- a/docs/topics/class-based-views/generic-editing.txt
+++ b/docs/topics/class-based-views/generic-editing.txt
@@ -99,8 +99,8 @@ First we need to add :meth:`~django.db.models.Model.get_absolute_url()` to our
.. snippet::
:filename: models.py
- from django.urls import reverse
from django.db import models
+ from django.urls import reverse
class Author(models.Model):
name = models.CharField(max_length=200)
@@ -115,8 +115,8 @@ here; we don't have to write any logic ourselves:
.. snippet::
:filename: views.py
- from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.urls import reverse_lazy
+ from django.views.generic.edit import CreateView, DeleteView, UpdateView
from myapp.models import Author
class AuthorCreate(CreateView):
@@ -150,7 +150,7 @@ Finally, we hook these new views into the URLconf:
:filename: urls.py
from django.urls import path
- from myapp.views import AuthorCreate, AuthorUpdate, AuthorDelete
+ from myapp.views import AuthorCreate, AuthorDelete, AuthorUpdate
urlpatterns = [
# ...
diff --git a/docs/topics/class-based-views/mixins.txt b/docs/topics/class-based-views/mixins.txt
index 4a47af6f11..e066cfcfb5 100644
--- a/docs/topics/class-based-views/mixins.txt
+++ b/docs/topics/class-based-views/mixins.txt
@@ -521,8 +521,8 @@ write our own ``get_context_data()`` to make the
``AuthorInterestForm`` available to the template. We'll skip the
``get_object()`` override from before for clarity::
- from django.views.generic import DetailView
from django import forms
+ from django.views.generic import DetailView
from books.models import Author
class AuthorInterestForm(forms.Form):
@@ -542,8 +542,8 @@ can find the author we're talking about, and we have to remember to set
``template_name`` to ensure that form errors will render the same
template as ``AuthorDisplay`` is using on ``GET``::
- from django.urls import reverse
from django.http import HttpResponseForbidden
+ from django.urls import reverse
from django.views.generic import FormView
from django.views.generic.detail import SingleObjectMixin
diff --git a/docs/topics/db/aggregation.txt b/docs/topics/db/aggregation.txt
index c3a4aa2bec..91a9b4fa3c 100644
--- a/docs/topics/db/aggregation.txt
+++ b/docs/topics/db/aggregation.txt
@@ -277,7 +277,7 @@ For example, we can ask for all publishers, annotated with their respective
total book stock counters (note how we use ``'book'`` to specify the
``Publisher`` -> ``Book`` reverse foreign key hop)::
- >>> from django.db.models import Count, Min, Sum, Avg
+ >>> from django.db.models import Avg, Count, Min, Sum
>>> Publisher.objects.annotate(Count('book'))
(Every ``Publisher`` in the resulting ``QuerySet`` will have an extra attribute
@@ -324,7 +324,7 @@ constraining the objects for which an annotation is calculated. For example,
you can generate an annotated list of all books that have a title starting
with "Django" using the query::
- >>> from django.db.models import Count, Avg
+ >>> from django.db.models import Avg, Count
>>> Book.objects.filter(name__startswith="Django").annotate(num_authors=Count('authors'))
When used with an ``aggregate()`` clause, a filter has the effect of
@@ -578,6 +578,6 @@ For example, if you wanted to calculate the average number of authors per
book you first annotate the set of books with the author count, then
aggregate that author count, referencing the annotation field::
- >>> from django.db.models import Count, Avg
+ >>> from django.db.models import Avg, Count
>>> Book.objects.annotate(num_authors=Count('authors')).aggregate(Avg('num_authors'))
{'num_authors__avg': 1.66}
diff --git a/docs/topics/email.txt b/docs/topics/email.txt
index 130abb5c31..48943e95cc 100644
--- a/docs/topics/email.txt
+++ b/docs/topics/email.txt
@@ -192,7 +192,7 @@ Here's an example view that takes a ``subject``, ``message`` and ``from_email``
from the request's POST data, sends that to admin@example.com and redirects to
"/contact/thanks/" when it's done::
- from django.core.mail import send_mail, BadHeaderError
+ from django.core.mail import BadHeaderError, send_mail
from django.http import HttpResponse, HttpResponseRedirect
def send_email(request):
diff --git a/docs/topics/files.txt b/docs/topics/files.txt
index d9b2adbdf5..6a2ff44f0b 100644
--- a/docs/topics/files.txt
+++ b/docs/topics/files.txt
@@ -140,8 +140,8 @@ the proper storage for that file), you can use file storage systems directly.
You can create an instance of some custom file storage class, or -- often more
useful -- you can use the global default storage system::
- >>> from django.core.files.storage import default_storage
>>> from django.core.files.base import ContentFile
+ >>> from django.core.files.storage import default_storage
>>> path = default_storage.save('/path/to/file', ContentFile('new content'))
>>> path
@@ -169,8 +169,8 @@ which implements basic local filesystem file storage.
For example, the following code will store uploaded files under
``/media/photos`` regardless of what your :setting:`MEDIA_ROOT` setting is::
- from django.db import models
from django.core.files.storage import FileSystemStorage
+ from django.db import models
fs = FileSystemStorage(location='/media/photos')
diff --git a/docs/topics/forms/index.txt b/docs/topics/forms/index.txt
index 173bcb1942..f8ef20a9bc 100644
--- a/docs/topics/forms/index.txt
+++ b/docs/topics/forms/index.txt
@@ -279,8 +279,8 @@ want it to be published:
.. snippet::
:filename: views.py
- from django.shortcuts import render
from django.http import HttpResponseRedirect
+ from django.shortcuts import render
from .forms import NameForm
diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt
index aa3c6855e2..270b88ff67 100644
--- a/docs/topics/forms/modelforms.txt
+++ b/docs/topics/forms/modelforms.txt
@@ -295,8 +295,8 @@ You can override the error messages from ``NON_FIELD_ERRORS`` raised by model
validation by adding the :data:`~django.core.exceptions.NON_FIELD_ERRORS` key
to the ``error_messages`` dictionary of the ``ModelForm``’s inner ``Meta`` class::
- from django.forms import ModelForm
from django.core.exceptions import NON_FIELD_ERRORS
+ from django.forms import ModelForm
class ArticleForm(ModelForm):
class Meta:
@@ -573,7 +573,7 @@ fields like you would in a regular ``Form``.
If you want to specify a field's validators, you can do so by defining
the field declaratively and setting its ``validators`` parameter::
- from django.forms import ModelForm, CharField
+ from django.forms import CharField, ModelForm
from myapp.models import Article
class ArticleForm(ModelForm):
diff --git a/docs/topics/http/urls.txt b/docs/topics/http/urls.txt
index ead494e619..4644ddea2b 100644
--- a/docs/topics/http/urls.txt
+++ b/docs/topics/http/urls.txt
@@ -168,7 +168,7 @@ For example::
Register custom converter classes in your URLconf using
:func:`~django.urls.register_converter`::
- from django.urls import register_converter, path
+ from django.urls import path, register_converter
from . import converters, views
@@ -614,8 +614,8 @@ You can obtain these in template code by using:
Or in Python code::
- from django.urls import reverse
from django.http import HttpResponseRedirect
+ from django.urls import reverse
def redirect_to_year(request):
# ...
diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt
index 5ef7c3db2e..2fe1497cf1 100644
--- a/docs/topics/i18n/translation.txt
+++ b/docs/topics/i18n/translation.txt
@@ -84,8 +84,8 @@ as a shorter alias, ``_``, to save typing.
In this example, the text ``"Welcome to my site."`` is marked as a translation
string::
- from django.utils.translation import gettext as _
from django.http import HttpResponse
+ from django.utils.translation import gettext as _
def my_view(request):
output = _("Welcome to my site.")
@@ -94,8 +94,8 @@ string::
Obviously, you could code this without using the alias. This example is
identical to the previous one::
- from django.utils.translation import gettext
from django.http import HttpResponse
+ from django.utils.translation import gettext
def my_view(request):
output = gettext("Welcome to my site.")
@@ -205,8 +205,8 @@ of its value.)
For example::
- from django.utils.translation import ngettext
from django.http import HttpResponse
+ from django.utils.translation import ngettext
def hello_world(request, count):
page = ngettext(
diff --git a/docs/topics/pagination.txt b/docs/topics/pagination.txt
index b095015b57..52cc4113b2 100644
--- a/docs/topics/pagination.txt
+++ b/docs/topics/pagination.txt
@@ -86,7 +86,7 @@ show how you can display the results. This example assumes you have a
The view function looks like this::
- from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
+ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.shortcuts import render
def listing(request):
diff --git a/docs/topics/testing/advanced.txt b/docs/topics/testing/advanced.txt
index 82953f88be..7e65a896f2 100644
--- a/docs/topics/testing/advanced.txt
+++ b/docs/topics/testing/advanced.txt
@@ -38,7 +38,7 @@ Example
The following is a simple unit test using the request factory::
from django.contrib.auth.models import AnonymousUser, User
- from django.test import TestCase, RequestFactory
+ from django.test import RequestFactory, TestCase
from .views import MyView, my_view
diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt
index 6e83bbc6a9..1f7d3b4f06 100644
--- a/docs/topics/testing/tools.txt
+++ b/docs/topics/testing/tools.txt
@@ -1023,7 +1023,7 @@ If you want to use a different ``Client`` class (for example, a subclass
with customized behavior), use the :attr:`~SimpleTestCase.client_class` class
attribute::
- from django.test import TestCase, Client
+ from django.test import Client, TestCase
class MyTestClient(Client):
# Specialized methods for your environment