ОЦК Джанго

ОЦК Джанго
Как мы узнали, Джанго функции просмотра имеет два записи написано: ОЦК и FBV. ОЦК поощрять использование класса писать, FBV использовать функцию , чтобы
писать. Конечно, повторить строки кода, более официально рекомендованное ОЦК.
При написании ОЦК, написанный вид класса класса, а затем вызвать класс функции as_view () в URL, всегда считал , что до тех пор , как вызов вверх
с, и не понять смысл. Конечно , функция FBV может быть выполнена непосредственно. Сегодня мы посмотрим на ОЦК пути исходного кода.
As_view в исходный код в PyCharm обнаружил , что это classmethod.

Специальный код опущен

Защиту as_view (ЦБС, ** initkwargs):

Процедура запроса-ответа является основной точкой входа

...
DEF вид (Request, * арг, ** kwargs):
...
возвращение self.dispatch (запрос, * арг, ** kwargs)
...
вернуться вид
можно увидеть для закрытия внутреннего пользования, возвращается вид функция и функция просмотра возвратили способ доставки. Затем продолжается в
способ доставки.

Этот код не долго

Защиту диспетчерская (я, запрос, * арг, ** kwargs):

Постарайтесь найти правильный подход, если метод не существует, обработка ошибок

Если метод не позволяет список запросов или обработчик ошибок.

request.method.lower IF () в self.http_method_names:
Обработчик = GetAttr (Self, request.method.lower (), self.http_method_not_allowed)
еще:
Обработчик = self.http_method_not_allowed
возврата Handler (Request, * ARGS ** kwargs)
Анализируя его можно видеть , что request.method.lower () находится в списке, этот список в представлении
http_method_names = [ «получить», « пост», «положить», «патч», «удалить», ' голова «» варианты, „ след“]
метод , если в списке, то соответствующий самостоятельно удаляется. Если нет, то также ввести обработчик исключений. Это также объясняет ОЦК
название функции и метод HTTP высокой степени перекрытия. Примечание GetAttr использования.
Это почти закончено. Tidy:
as_view () -> Вид () ->
отправка () , которые в основном используют принцип отражения. URL отображения идет о принципе (глазок).
Резюме: ввести процесс отправки запроса, в отражательного типа найденного получить / пост или тому подобное, то метод возвращает соответствующий контент обратно
к отправке, отправка и содержание затем возвращается запрашивающей.
После слов: метод может быть реализован в методе отправки пользовательского класса, а затем вызвать в родительском классе. До этого можно достичь определенных операций или после
работы.

рекомендация

отwww.cnblogs.com/abdm-989/p/11729557.html
рекомендация