№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

  

1. Чему научимся? Читать план - Django 4. ListView переопределение методов.

-

наша цель изучить переопределения методов ListView.

Наш план для тех кто хочет писать то что задумал, а не то что получится.

  1. Мы прошли urls научились извлекать url по slug, id с использованием namespace, а так же c использованием get_absolute_url(). Ваша задача была довести эти знания до профессионализма.

Теперь наша основная задача научиться переопределять методы Listview и далее DetailView:

всего 9 методов

Method Flowchart

1 setup()
2 dispatch()
3 http_method_not_allowed()
4 get_template_names()
5 get_queryset()
6 get_context_object_name()
7 get_context_data()
8 get()
9 render_to_response() - здесь рассмотреть ещё запрос ответ.

Django имеет множество методов, все одни работают по принципу, который мы изучим.

  1. Ответим на вопрос, зачем столько много, так как каждый метод имеет много вариантов. Джанго разработчики ответили так:-"что бы мы могли писать сайты с точностью до точки."
  2. Мы подойдём со стороны зачем и что нужно, будем так же. как и с url работать сразу комплексно в 4-х направлениях и в этом порядке:
  3. View - сейчас на первом месте.
  4. Templates
  5. Model
  6. Urls

Впервые мы получим опыт планирования приложения.

Ранее мы писали модели, но они были просты, мы усложним сейчас и изучим новые отношения один ко многим. Многие ко многим. (рассказать идею)

Основная наша задача это уделить максимум внимания документации и её пониманию, продолжить нарабатывать систему работы с кодом.

Мы продолжим работать в Jupyter notebook и научимся осознано извлекать данные.

Мы продолжим работать с исключениями(ошибками) и научимся понимать их уверенно, как в случае с url.

Что бы достигнуть главной цели в этом направлении, а именно писать сайты такие как мы хотим, а не что получится, нам нужно разобраться для чего применяются какие методы.

Я просматривал книги по Джанго, на самом деле они являются лишь пародией на знания, так как, как правило в книге автор описывает какой один вариант, что загоняет читающего в рамки. (я не призываю не читать книги) Я указываю. что необходимо работать с документацией.

Отличие моих курсов, в том, что авторы книг дают код, а потом объясняют что он делает. Это и есть рамки. Достаточно залезть на

https://stackoverflow.com и там одни и те же исключения.

В этом курсе мы научимся иному: Наша задача, понять какие у нас есть варианты, выбрать нужный нам вариант и объяснить почему взяв в расчёт все части Джанго модели, шаблоны, Url и представления. Мы увидим многие решения одной и той же задачи. Ниже увидите пример очень простой но он демонстрирует. Мы разберёмся с представлениями Джанго, ваша задача довести это до профессионализма сразу. а не потом.

Например, Джанго имеет только три варианта извлечения списка записей. Вы спросите зачем? Если вы пишете сайт сами и больше никто. Если вы пишете сайт командой другое дело. Если в вашей команде работают дизайнеры, они ничего не понимают в коде, но понимают шаблоны, тогда мы можем дать имя интуитивно понятное.

Так же что касаемо методов. Все методы работают на одну идею.

Проговорим её.

Задачи веб разработчика:

  • Поместить записи в базу данных.
  • Извлечь с базы нужным образом.
  • показать нужным образом.

Поэтому есть методы, которые переопределяют поведение по умолчанию get_queryset(). Поведение по умолчанию вывести все. Мы можем его заменить частично или полностью. Здесь в основе лежит выборка query set. То есть работа с API моделей.

Что бы его понимать мы научимся работать с исходным кодом Джанго. Для этого важно знать питон хорошо и функции и методы должны уже отлетать, как чеканные. Решает вопрос понимания языков - это изучения нескольких языков.

Есть методы get_context_data(), которые выводят нужное количество записей и в определённом порядке, но здесь больше участвует Context, по этим нужно понимать заполнения словаря, Джанго использует словарь для вывода сообщений.(это быстро)

И вот вам фишка в отличие от любых книг, будет, где просто рассказывается сам факт написания приложения, что ставит изучающего в рамки.

Объясню на примере: Я придумал приложение, логика которого подойдёт для любого бизнеса. Есть три модели: 1. Сохраняет данные глобального в моём случае. я показал приложения, где человек собирает Знания под себя, например они могут быть с ютуб, с соц сети любой или просто сайт. На месте этого могла бы быть головная компания и так далее.

  1. Меня интересует автор, его ник, его сайт или канал. На месте этого могли бы быть сотрудники любой организации.
  2. Сохраняет сам контент, который важен мне лично или кому то кто это записывает, на месте этой модели могли бы быть описания офисов, магазинов и чего угодно, здесь вана не сама модель, а замысел и связи между другими моделями при помощи связей многие ко многим, многие к одному.

Так вот, если в первой модели мне нужно показать все платформы и сайты, на самом деле я могу их сделать тремя способами и даже больше, но больше просто не нужно.

Я могу подойти со стороны работы ApI c моделями get_queryset() или тоже самое я могу сделать опираясь на шаблоны get_context_data() в том и другом случае я могу получить любой результат, то есть вывод записей в нужном мне количестве и порядке. Так же я могу дополнительно дописать другие выводы, например вывести все записи с модели 3 относящийся к полям модели 1(например все записи которые есть на ютуб и у меня сохранены).

Я вообще могу решить задачу переписав стандартный менеджер objects.

Тонкости возникают далее, а именно что я буду использовать хочу получить данные с первой модели или например с третьей, но выгрести все записи.

Тонкости в том. что в одном случае мне нужно использовать метод супер, а в другом нет, так как метод супер укажет конкретную модель, а без супер я смогу с третей модели вытянуть с первой через отношения. При этом в документации это прописано и показан пример, но написано так, когда нужно сделать что то в отношении конкретной модели......Здесь нужно понимание питон и метода super(). Изучим в разделе питон.

Что даст подробное рассмотрение ListView и DetailView - в первую и главную очередь принцип. Так как Джанго имеет большое количество методов и миксинов(примесей), которые работают абсолютно сходно, только выполняют разные задачи, одни обновляют, другие удаляют и т. д

В последующем мы изучим стратегию написания приложений при помощи миксинов - это фантастически круто.

Этого материала будет достаточно, что бы дальше в этом направлении двигаться самостоятельно абсолютно свободно.

И ваше задание будет, как и в случае с url, довести до автоматизма эти знания, написав до 10 приложений.

Далее рассмотрим DetailView

и тогда мы готовы начать писать сайт и расширять наши знания.

Какие видео посмотреть ещё?

Два подхода изучения Django 4. Профессиональный и провальный. А какой у вас?

Программирование по системе №1 лист в видео





Вcе записи подраздела.


Сейчас вы проходите урок:
1. Чему научимся? Читать план - Django 4. ListView переопределение методов.

<< Назад  |  Далее >>


Все уроки с тегом:  ListView