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

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

Может ли у меня не получится стать программистом Python? Нет, Не может.

0. Что узнаем в этих уроках? (читать бесплатно).

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

Я очень рекомендую довести навыки извлечения url до профессионализма, все для этого имеется. В будущем важно не отвлекаться на url, а делать на лету, а внимание сосредоточить на новых задачах. Этим тоже отличается школа программирования Бовсуновского. Есть места, где я рекомендую достичь профессионализма уже сейчас.

Вам нужно не так много научится:

извлекать по slug, namespace, get_absolute_url и поid хватит для любых задач.

В этих уроках мы подойдем со стороны url, научимся получать ссылки на объекты по slug, id, пространству имён.

При извлечении URL участвуют наша задача чётко понимать связь:

  • Модели.
  • Представления.
  • Шаблоны.
  • Сами url.

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

Перейти к уроку

1. Создадим приложение, тренируемся получать ссылки по slug, id, namespace.

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

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

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

Это возможно на 100%, для извлечения url нам нужно именно навык извлеченияurl разными способами: по slug, id, namespace + name, get_absolute_url().

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

Запомните простое правило, после этих уроков нас не должно больше напрягать извлечение url в приложениях, уделите столько времени сколько нужно, убедитесь, что понимаете документацию, где я объяснял, после проделывания уроков, создайте 5-6 приложений опираясь только на документацию, доведите до автоматизма, вплоть до того, как идёте в магазин уже можете легко выстроить логику извлечения url в голове.

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

Ну конечно все это делать я рекомендую тем, кто решил овладеть Джанго профессионально.

Ещё рекомендации.

Писал Андрею Р. (старый участник).

Пожалуйста прочтите рекомендации, как изучать Django4 (1 раз и навсегда) - это важно, если конечно интересует уверенный результат?

Андрей, спасибо за доверие и поддержку проекта.

Недостающие доступы добавлены. Проверьте пож. и отпишитесь.

Самое важное по Джанго, сейчас иной подход.

Суть подхода в том, что вопрос сразу необходимо доводить до профессионализма. (после этого откроется много тонкостей и придёт свободное владение)

Например, при прохождении url, то есть этого раздела.

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

Самопроверка.

Чёткое понимание как извлекать url по slug, id, c применением name и namespace и прямой url по get_absolute_url(с обязательным понимаем разницы — это тоже обсуждали в уроках)

Пишите 5-7.....100 приложений пока не будете писать без уроков, а только на основе справки.

Когда пойдёте в магазин или гулять или... начните проверьте, сможете ли вы продумать в голове схему извлечения url, при этом учитывая все части url, представление, шаблон и модель. (разрешается иметь при себе шпаргалку на бумажке(пишите на бумажке , лучше усвоите), но не учите, а старайтесь выстроить логику).

Продумайте исключения и понимаете ли вы где править и что править (мы рассмотрели основные). Проверьте свои чувства, при получении исключения вы испытываете:

  • - испытаете панику (значит страдают основы, довести до профессионализма функции
  • - о мля,……. ошибка черт её побери. (бежите, делайте спокойно и добейтесь результата)
  • - супер все работает, просто поправить..… (все, ок)

Если первые два пункта, то вам нужно сосредоточить свое внимание на том где править ошибку, мы разбирали. Каждую ошибку воспроизводите, только тогда наступит полное понимание. Учитесь понимать глядя на ошибку, где править код в views, шаблоне или в самом url.

После прохождения url сохраните себе алгоритм и делайте так везде в джанго.

Работайте над своей системой работы с кодом. (нужно пройти эти уроки. сам курс по демонстрирует практический подход)

Мы часто смотрим исходный код, сразу будет сложно, просто не прекращайте это делать. Понимание догонит.

Все получится.

Вот ещё парням нашим писал рекомендации, прочтите:

Django 4 практический курс(пишем соц. сеть). Показывает путь к профи и что делать для этого.

В Django 4 стать профи, понимать документацию и исходный код. Что делать для этого?

Спасибо за доверие.

Перейти к уроку

2. Создадим модель и познакомимся с новыми для нас настройками.

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

-

Для примера сейчас заострим внимание на настройках полей:

data_created = models.DateTimeField(auto_now_add=True) c права в скобках ......(auto_now_add=True) это и есть настройки полей. Запомните сразу в них нужно разобраться очень досконально, далее вы увидите, что по ходу, как приходят идеи, я постонно меняю настройки полей на более подходящие.

Запоминать их все не нужно, как учу справкой пользуйтесь.

class Page(models.Model):
    class Meta:
        pass

    name = models.CharField(max_length=160)
    content = models.TextField(blank=True)
    slug = models.SlugField(unique=True)
    data_created = models.DateTimeField(auto_now_add=True)
    data_updated = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.name

Перейти к уроку

3. Познакомимся с Meta классом модели.

Ещё одна вещь, которая нам точно нужно будет всегда class Meta модели. Изменяет разные вещи для модели, больше сделано для удобства разработчика, что бы например рубрика выглядела читаемо для пользователя:

verbose_name = "Добавить запись в блог",

Вот представьте вам поступил заказ сделать сайт, вы сделали, а потом пользователь скажет:" я ничего не понимаю. что за Page (для вас то понятно, что это модель ваша, а для других может быть не понятно), вы можете сделать так. что бы я понимал. что, где писать"?

class Page(models.Model):
    class Meta:
        verbose_name = "Страница id, slug, namespace"
        verbose_name_plural = "Страницы id, slug, namespace"

        .............

Перейти к уроку

4. Изучим работу с dumpdata(сохранение дампа базы).

например вы делаете проект, каждый раз создавать записи в админке снова и снова не очень удобно. Сделали один раз записи сохранили dump и потом заливаем одной командой.

dumpdata - здесь много тонкостей, но главное понять принцип.

Это нужно для многого:

  • например вы делаете проект, каждый раз создавать записи в админке снова и снова не очень удобно. Сделали один раз записи сохранили dump(то есть копию) и потом заливаем одной командой.
  • Так же можно сохранить базу боевого сервера и при сбое залить.
  • *Также понадобится при переводе с обной базы на другую, например с MySQL на PostGresQL и другое.

Работает это при помощи JSON формат легко читаемый и машиной и человеком https://www.json.org/json-en.html

Что делает Джанго?

Модели создадут поля.

А при помощи manage.py dumpdata, эти модели можно заполнить информацией. там есть много тонкостей, поэтому надо рассмотреть, что бы вам было от чего плясать.

[
{
  "model": "getlink_app.page",
  "pk": 1,
  "fields": {
    "name": "Белый аист",
    "content": "Краткое описание: болотная птица семейства аистовых. Основные приметы – белое оперение с черным на крыльях, длинный тонкий красный клюв и длинные красные ноги\r\n\r\nРост взрослой особи: около 100-125 сантиметров (в зависимости от пола).\r\n\r\nРазмах крыльев: 155-200 сантиметров (в зависимости от пола)\r\n\r\nМасса: около 4 килограмм\r\n\r\nПродолжительность жизни: около 20 лет. Есть сведения об особях, проживших более 35 лет\r\n\r\nРазмножение: от 1 до 7 яиц\r\n\r\nОхранный статус: в Красную книгу Беларуси не занесен; по охранному статусу Всемирного союза охраны природы – LC (Least Concern): под наименьшей угрозой исчезновения\r\n\r\nКоличество особей: в мире – ок.230.000 особей; в Беларуси – летом гнездится ок.20.000 особей, это 8-10% мировой популяции. По количеству аистов наша страна уступает только Польше, Испании и Украине\r\n\r\nИнтересные факты: 1. Аисты, на самом деле довольно жестокие птицы и без сожаления могут выбрасывать из своих гнезд больных или слабых птенцов; 2. Аисты часто на протяжении многих лет и поколений селятся в одни и те же гнезда. Так, в истории известен случай, когда одно гнездо в Германии использовалось 381 год (1549-1930); 3. Благодаря художнику Гавриилу Ващенко аист превратился в птицу-символ Беларуси; 4. Аист размещен на гербе города Столин.",
    "slug": "aist",
    "data_created": "2021-10-05T10:22:35.149Z",
    "data_updated": "2021-10-05T10:22:35.149Z"
  }
},
{
  "model": "getlink_app.page",
  "pk": 2,
  "fields": {
    "name": "Белая трясогузка",
    "content": "Краткое описание: небольшая птица семейства трясогузковых. Имеет контрастную, черно-бело-серую окраску.\r\n\r\nДлина тела взрослой особи: около 16-20 сантиметров\r\n\r\nМасса: около 20-25 грамм\r\n\r\nПродолжительность жизни: около 10 лет. В неволе возрастает до 12 лет\r\n\r\nРазмножение: самка откладывает 5-6 яиц\r\n\r\nОхранный статус: в Красную книгу Беларуси не занесена; по охранному статусу Всемирного союза охраны природы – LC (Least Concern): под наименьшей угрозой исчезновения\r\n\r\nКоличество особей: в Беларусь от 800 тысяч до 1,2 миллиона пар\r\n\r\nИнтересные факты: Белая трясогузка – национальный символ Латвии",
    "slug": "wagtail",
    "data_created": "2021-10-05T10:23:24.010Z",
    "data_updated": "2021-10-05T10:23:24.010Z"
  }
},

Перейти к уроку