Django 4. Понимание методов setup(), dispatch(), http_method_not_allowed() в ListView.
Channel: В. Бовсуновский Python Django
Date: 2021-11-09

Django 4. Понимание методов setup(), dispatch(), http_method_not_allowed() в ListView().

Зачем это нужно знать?
Ну во первых у нас стоит задача научится переопределять методы ListView()
Уроки здесь:
https://spb-tut.ru/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-django-4/django-4-listview-%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2/category/django4-listview/

Но прежде чем это делать нам нужно понимать документацию, понимать что стоит переопределять, а что не стоит при создании обычного сайта любой сложности, так же указали момент. когда стоит переопределять методы  setup(), dispatch(), http_method_not_allowed() .
В итоге мы пришли к выводу что будем точно переопредлять этим и заёмемся в уроках, то есть работать с базой и шаблонами:
https://spb-tut.ru/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-django-4/django-4-listview-%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2/category/django4-listview/

Ещё наша задача подтягивать Питон и понимать исходный код(source code).

Таким образом мы может точно рассчитывать на профессиональное использование Джанго в своей практике.

Если коротко, то:
задача метода  setup() - инициализировать или явно вызвать  dispatch().
Задача метода dispatch() - правильно определить запрос вызывая список запросов, которые определены

http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']
Здесь вам было домашнее задание подтянуть веб программирование
https://developer.mozilla.org/ru/docs/Web/HTTP/Methods

Если не один запрос не подошёл, то вызвать исключение:
http_method_not_allowed() 

В Джанго все привязано к методу as_view() назвови себя.
Мы дополнили наши знания относительно этого важно метода и теперь знаем у него два основных назначения:
1. В нём мы можем переопределять все другие методы.
2. Он возвращает метод dispatch() 
уроки здесь:
https://spb-tut.ru/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-django-4/get-urls/category/get-links/

Ссылки ещё:
исходный код расматривали:
https://github.com/django/django/blob/main/django/views/generic/base.py

последовательность рассмартривали:
https://docs.djangoproject.com/en/3.2/ref/class-based-views/base/#view

ListView():
https://docs.djangoproject.com/en/3.2/ref/class-based-views/generic-display/#listview






получить доступ:
https://spb-tut.ru/programming_school/pay-django4/



----