summaryrefslogtreecommitdiff
path: root/docs/ref/class-based-views
diff options
context:
space:
mode:
authordjango-bot <ops@djangoproject.com>2023-03-01 13:35:43 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-03-01 13:39:03 +0100
commit62510f01e76ad0526c94ea6d1bc6399c1ddf3df4 (patch)
tree79844be246eba809a4ca09c6f4c3448f2276321a /docs/ref/class-based-views
parent32f224e359c68e70e3f9a230be0265dcd6677079 (diff)
[4.2.x] Fixed #34140 -- Reformatted code blocks in docs with blacken-docs.
Diffstat (limited to 'docs/ref/class-based-views')
-rw-r--r--docs/ref/class-based-views/base.txt34
-rw-r--r--docs/ref/class-based-views/generic-date-based.txt64
-rw-r--r--docs/ref/class-based-views/generic-display.txt12
-rw-r--r--docs/ref/class-based-views/generic-editing.txt20
-rw-r--r--docs/ref/class-based-views/index.txt2
-rw-r--r--docs/ref/class-based-views/mixins-multiple-object.txt2
-rw-r--r--docs/ref/class-based-views/mixins-simple.txt5
7 files changed, 84 insertions, 55 deletions
diff --git a/docs/ref/class-based-views/base.txt b/docs/ref/class-based-views/base.txt
index f60950d1fa..44714a7eef 100644
--- a/docs/ref/class-based-views/base.txt
+++ b/docs/ref/class-based-views/base.txt
@@ -34,10 +34,10 @@ MRO is an acronym for Method Resolution Order.
from django.http import HttpResponse
from django.views import View
- class MyView(View):
+ class MyView(View):
def get(self, request, *args, **kwargs):
- return HttpResponse('Hello, World!')
+ return HttpResponse("Hello, World!")
**Example urls.py**::
@@ -46,7 +46,7 @@ MRO is an acronym for Method Resolution Order.
from myapp.views import MyView
urlpatterns = [
- path('mine/', MyView.as_view(), name='my-view'),
+ path("mine/", MyView.as_view(), name="my-view"),
]
**Attributes**
@@ -57,7 +57,7 @@ MRO is an acronym for Method Resolution Order.
Default::
- ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']
+ ["get", "post", "put", "patch", "delete", "head", "options", "trace"]
**Methods**
@@ -160,13 +160,13 @@ MRO is an acronym for Method Resolution Order.
from articles.models import Article
- class HomePageView(TemplateView):
+ class HomePageView(TemplateView):
template_name = "home.html"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
- context['latest_articles'] = Article.objects.all()[:5]
+ context["latest_articles"] = Article.objects.all()[:5]
return context
**Example urls.py**::
@@ -176,7 +176,7 @@ MRO is an acronym for Method Resolution Order.
from myapp.views import HomePageView
urlpatterns = [
- path('', HomePageView.as_view(), name='home'),
+ path("", HomePageView.as_view(), name="home"),
]
**Context**
@@ -223,14 +223,14 @@ MRO is an acronym for Method Resolution Order.
from articles.models import Article
- class ArticleCounterRedirectView(RedirectView):
+ class ArticleCounterRedirectView(RedirectView):
permanent = False
query_string = True
- pattern_name = 'article-detail'
+ pattern_name = "article-detail"
def get_redirect_url(self, *args, **kwargs):
- article = get_object_or_404(Article, pk=kwargs['pk'])
+ article = get_object_or_404(Article, pk=kwargs["pk"])
article.update_counter()
return super().get_redirect_url(*args, **kwargs)
@@ -242,9 +242,17 @@ MRO is an acronym for Method Resolution Order.
from article.views import ArticleCounterRedirectView, ArticleDetailView
urlpatterns = [
- path('counter/<int:pk>/', ArticleCounterRedirectView.as_view(), name='article-counter'),
- path('details/<int:pk>/', ArticleDetailView.as_view(), name='article-detail'),
- path('go-to-django/', RedirectView.as_view(url='https://www.djangoproject.com/'), name='go-to-django'),
+ path(
+ "counter/<int:pk>/",
+ ArticleCounterRedirectView.as_view(),
+ name="article-counter",
+ ),
+ path("details/<int:pk>/", ArticleDetailView.as_view(), name="article-detail"),
+ path(
+ "go-to-django/",
+ RedirectView.as_view(url="https://www.djangoproject.com/"),
+ name="go-to-django",
+ ),
]
**Attributes**
diff --git a/docs/ref/class-based-views/generic-date-based.txt b/docs/ref/class-based-views/generic-date-based.txt
index 59d41ae3d2..7f6bc5630d 100644
--- a/docs/ref/class-based-views/generic-date-based.txt
+++ b/docs/ref/class-based-views/generic-date-based.txt
@@ -15,12 +15,13 @@ views for displaying drilldown pages for date-based data.
from django.db import models
from django.urls import reverse
+
class Article(models.Model):
title = models.CharField(max_length=200)
pub_date = models.DateField()
def get_absolute_url(self):
- return reverse('article-detail', kwargs={'pk': self.pk})
+ return reverse("article-detail", kwargs={"pk": self.pk})
``ArchiveIndexView``
====================
@@ -69,9 +70,11 @@ views for displaying drilldown pages for date-based data.
from myapp.models import Article
urlpatterns = [
- path('archive/',
- ArchiveIndexView.as_view(model=Article, date_field="pub_date"),
- name="article_archive"),
+ path(
+ "archive/",
+ ArchiveIndexView.as_view(model=Article, date_field="pub_date"),
+ name="article_archive",
+ ),
]
**Example myapp/article_archive.html**:
@@ -154,6 +157,7 @@ views for displaying drilldown pages for date-based data.
from myapp.models import Article
+
class ArticleYearArchiveView(YearArchiveView):
queryset = Article.objects.all()
date_field = "pub_date"
@@ -167,9 +171,7 @@ views for displaying drilldown pages for date-based data.
from myapp.views import ArticleYearArchiveView
urlpatterns = [
- path('<int:year>/',
- ArticleYearArchiveView.as_view(),
- name="article_year_archive"),
+ path("<int:year>/", ArticleYearArchiveView.as_view(), name="article_year_archive"),
]
**Example myapp/article_archive_year.html**:
@@ -247,6 +249,7 @@ views for displaying drilldown pages for date-based data.
from myapp.models import Article
+
class ArticleMonthArchiveView(MonthArchiveView):
queryset = Article.objects.all()
date_field = "pub_date"
@@ -260,13 +263,17 @@ views for displaying drilldown pages for date-based data.
urlpatterns = [
# Example: /2012/08/
- path('<int:year>/<int:month>/',
- ArticleMonthArchiveView.as_view(month_format='%m'),
- name="archive_month_numeric"),
+ path(
+ "<int:year>/<int:month>/",
+ ArticleMonthArchiveView.as_view(month_format="%m"),
+ name="archive_month_numeric",
+ ),
# Example: /2012/aug/
- path('<int:year>/<str:month>/',
- ArticleMonthArchiveView.as_view(),
- name="archive_month"),
+ path(
+ "<int:year>/<str:month>/",
+ ArticleMonthArchiveView.as_view(),
+ name="archive_month",
+ ),
]
**Example myapp/article_archive_month.html**:
@@ -350,6 +357,7 @@ views for displaying drilldown pages for date-based data.
from myapp.models import Article
+
class ArticleWeekArchiveView(WeekArchiveView):
queryset = Article.objects.all()
date_field = "pub_date"
@@ -364,9 +372,11 @@ views for displaying drilldown pages for date-based data.
urlpatterns = [
# Example: /2012/week/23/
- path('<int:year>/week/<int:week>/',
- ArticleWeekArchiveView.as_view(),
- name="archive_week"),
+ path(
+ "<int:year>/week/<int:week>/",
+ ArticleWeekArchiveView.as_view(),
+ name="archive_week",
+ ),
]
**Example myapp/article_archive_week.html**:
@@ -463,6 +473,7 @@ views for displaying drilldown pages for date-based data.
from myapp.models import Article
+
class ArticleDayArchiveView(DayArchiveView):
queryset = Article.objects.all()
date_field = "pub_date"
@@ -476,9 +487,11 @@ views for displaying drilldown pages for date-based data.
urlpatterns = [
# Example: /2012/nov/10/
- path('<int:year>/<str:month>/<int:day>/',
- ArticleDayArchiveView.as_view(),
- name="archive_day"),
+ path(
+ "<int:year>/<str:month>/<int:day>/",
+ ArticleDayArchiveView.as_view(),
+ name="archive_day",
+ ),
]
**Example myapp/article_archive_day.html**:
@@ -536,6 +549,7 @@ views for displaying drilldown pages for date-based data.
from myapp.models import Article
+
class ArticleTodayArchiveView(TodayArchiveView):
queryset = Article.objects.all()
date_field = "pub_date"
@@ -548,9 +562,7 @@ views for displaying drilldown pages for date-based data.
from myapp.views import ArticleTodayArchiveView
urlpatterns = [
- path('today/',
- ArticleTodayArchiveView.as_view(),
- name="archive_today"),
+ path("today/", ArticleTodayArchiveView.as_view(), name="archive_today"),
]
.. admonition:: Where is the example template for ``TodayArchiveView``?
@@ -597,9 +609,11 @@ views for displaying drilldown pages for date-based data.
from django.views.generic.dates import DateDetailView
urlpatterns = [
- path('<int:year>/<str:month>/<int:day>/<int:pk>/',
- DateDetailView.as_view(model=Article, date_field="pub_date"),
- name="archive_date_detail"),
+ path(
+ "<int:year>/<str:month>/<int:day>/<int:pk>/",
+ DateDetailView.as_view(model=Article, date_field="pub_date"),
+ name="archive_date_detail",
+ ),
]
**Example myapp/article_detail.html**:
diff --git a/docs/ref/class-based-views/generic-display.txt b/docs/ref/class-based-views/generic-display.txt
index 625a43fa0c..731197da4b 100644
--- a/docs/ref/class-based-views/generic-display.txt
+++ b/docs/ref/class-based-views/generic-display.txt
@@ -44,13 +44,13 @@ many projects they are typically the most commonly used views.
from articles.models import Article
- class ArticleDetailView(DetailView):
+ class ArticleDetailView(DetailView):
model = Article
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
- context['now'] = timezone.now()
+ context["now"] = timezone.now()
return context
**Example myapp/urls.py**::
@@ -60,7 +60,7 @@ many projects they are typically the most commonly used views.
from article.views import ArticleDetailView
urlpatterns = [
- path('<slug:slug>/', ArticleDetailView.as_view(), name='article-detail'),
+ path("<slug:slug>/", ArticleDetailView.as_view(), name="article-detail"),
]
**Example myapp/article_detail.html**:
@@ -133,14 +133,14 @@ many projects they are typically the most commonly used views.
from articles.models import Article
- class ArticleListView(ListView):
+ class ArticleListView(ListView):
model = Article
paginate_by = 100 # if pagination is desired
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
- context['now'] = timezone.now()
+ context["now"] = timezone.now()
return context
**Example myapp/urls.py**::
@@ -150,7 +150,7 @@ many projects they are typically the most commonly used views.
from article.views import ArticleListView
urlpatterns = [
- path('', ArticleListView.as_view(), name='article-list'),
+ path("", ArticleListView.as_view(), name="article-list"),
]
**Example myapp/article_list.html**:
diff --git a/docs/ref/class-based-views/generic-editing.txt b/docs/ref/class-based-views/generic-editing.txt
index 84a8a4dda0..9bd543bdfc 100644
--- a/docs/ref/class-based-views/generic-editing.txt
+++ b/docs/ref/class-based-views/generic-editing.txt
@@ -24,11 +24,12 @@ editing content:
from django.db import models
from django.urls import reverse
+
class Author(models.Model):
name = models.CharField(max_length=200)
def get_absolute_url(self):
- return reverse('author-detail', kwargs={'pk': self.pk})
+ return reverse("author-detail", kwargs={"pk": self.pk})
``FormView``
============
@@ -52,6 +53,7 @@ editing content:
from django import forms
+
class ContactForm(forms.Form):
name = forms.CharField()
message = forms.CharField(widget=forms.Textarea)
@@ -65,10 +67,11 @@ editing content:
from myapp.forms import ContactForm
from django.views.generic.edit import FormView
+
class ContactFormView(FormView):
- template_name = 'contact.html'
+ template_name = "contact.html"
form_class = ContactForm
- success_url = '/thanks/'
+ success_url = "/thanks/"
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
@@ -141,9 +144,10 @@ editing content:
from django.views.generic.edit import CreateView
from myapp.models import Author
+
class AuthorCreateView(CreateView):
model = Author
- fields = ['name']
+ fields = ["name"]
**Example myapp/author_form.html**:
@@ -220,10 +224,11 @@ editing content:
from django.views.generic.edit import UpdateView
from myapp.models import Author
+
class AuthorUpdateView(UpdateView):
model = Author
- fields = ['name']
- template_name_suffix = '_update_form'
+ fields = ["name"]
+ template_name_suffix = "_update_form"
**Example myapp/author_update_form.html**:
@@ -307,9 +312,10 @@ editing content:
from django.views.generic.edit import DeleteView
from myapp.models import Author
+
class AuthorDeleteView(DeleteView):
model = Author
- success_url = reverse_lazy('author-list')
+ success_url = reverse_lazy("author-list")
**Example myapp/author_confirm_delete.html**:
diff --git a/docs/ref/class-based-views/index.txt b/docs/ref/class-based-views/index.txt
index 5187000385..0c2f20aee5 100644
--- a/docs/ref/class-based-views/index.txt
+++ b/docs/ref/class-based-views/index.txt
@@ -26,7 +26,7 @@ A class-based view is deployed into a URL pattern using the
:meth:`~django.views.generic.base.View.as_view()` classmethod::
urlpatterns = [
- path('view/', MyView.as_view(size=42)),
+ path("view/", MyView.as_view(size=42)),
]
.. admonition:: Thread safety with view arguments
diff --git a/docs/ref/class-based-views/mixins-multiple-object.txt b/docs/ref/class-based-views/mixins-multiple-object.txt
index 5049314d7c..4c6a1c5caa 100644
--- a/docs/ref/class-based-views/mixins-multiple-object.txt
+++ b/docs/ref/class-based-views/mixins-multiple-object.txt
@@ -15,7 +15,7 @@ Multiple object mixins
* Use the ``page`` parameter in the URLconf. For example, this is what
your URLconf might look like::
- path('objects/page<int:page>/', PaginatedView.as_view()),
+ path("objects/page<int:page>/", PaginatedView.as_view()),
* Pass the page number via the ``page`` query-string parameter. For
example, a URL would look like this:
diff --git a/docs/ref/class-based-views/mixins-simple.txt b/docs/ref/class-based-views/mixins-simple.txt
index 7a9542447b..bbd0875e75 100644
--- a/docs/ref/class-based-views/mixins-simple.txt
+++ b/docs/ref/class-based-views/mixins-simple.txt
@@ -16,7 +16,8 @@ Simple mixins
:meth:`~django.views.generic.base.View.as_view`. Example usage::
from django.views.generic import TemplateView
- TemplateView.as_view(extra_context={'title': 'Custom Title'})
+
+ TemplateView.as_view(extra_context={"title": "Custom Title"})
**Methods**
@@ -27,7 +28,7 @@ Simple mixins
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
- context['number'] = random.randrange(1, 100)
+ context["number"] = random.randrange(1, 100)
return context
The template context of all class-based generic views include a