Специальная, подарочная акция получения доступа к Django4!
Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.
Посмотрите начало видео, я там рекомендую как изучать этот раздел. Видео конечно обзорное и тема раскрыта шире, но смысл посмотреть есть, хотя бы начало, что бы настроить себя на серьёзную работу.
Я очень рекомендую довести навыки извлечения url до профессионализма, все для этого имеется. В будущем важно не отвлекаться на url, а делать на лету, а внимание сосредоточить на новых задачах. Этим тоже отличается школа программирования Бовсуновского. Есть места, где я рекомендую достичь профессионализма уже сейчас.
Вам нужно не так много научится:
извлекать по slug, namespace, get_absolute_url и поid хватит для любых задач.
slug
namespace
get_absolute_url
id
В этих уроках мы подойдем со стороны url, научимся получать ссылки на объекты по slug, id, пространству имён.
При извлечении URL участвуют наша задача чётко понимать связь:
Нам желательно добиться чёткого понимания связей между частями джанго, которые перечислены выше.
Начнём мы с нового приложения, что бы у вас был шаблон. Вы даже можете сказать, так по slug мы уже извлекали и знаем, не тут то было, я вам далее покажу столько подводных камней и исключений, что "мама не горюй".
"мама не горюй"
А так у вас будет приложение в котором вы будете тренировать навык извлечения url.
url
Напоминаю - этот навык нужно уже с нуля довести до профессионализма.
Это возможно на 100%, для извлечения url нам нужно именно навык извлеченияurl разными способами: по slug, id, namespace + name, get_absolute_url().
slug, id, namespace + name, get_absolute_url()
Мы опять будем рассматривать Джанго как целое, учитывать модель, представление, шаблон и 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 стать профи, понимать документацию и исходный код. Что делать для этого?
Спасибо за доверие.
Я говорил ранее, что модели мы будем проходить по ходу материала на протяжении всего курса, так как все мы выстраиваем именно от модели. По ходу делать удобно, так как в разных случаях нужно разное, а когда все же знания в контексте вопроса, то и воспринимается по другому со смыслом и запоминается легко.
-
Для примера сейчас заострим внимание на настройках полей:
data_created = models.DateTimeField(auto_now_add=True) c права в скобках ......(auto_now_add=True) это и есть настройки полей. Запомните сразу в них нужно разобраться очень досконально, далее вы увидите, что по ходу, как приходят идеи, я постонно меняю настройки полей на более подходящие.
data_created = models.DateTimeField(auto_now_add=True)
......(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
Ещё одна вещь, которая нам точно нужно будет всегда class Meta модели. Изменяет разные вещи для модели, больше сделано для удобства разработчика, что бы например рубрика выглядела читаемо для пользователя:
class Meta
verbose_name = "Добавить запись в блог",
verbose_name = "Добавить запись в блог"
Вот представьте вам поступил заказ сделать сайт, вы сделали, а потом пользователь скажет:" я ничего не понимаю. что за Page (для вас то понятно, что это модель ваша, а для других может быть не понятно), вы можете сделать так. что бы я понимал. что, где писать"?
Page
class Page(models.Model): class Meta: verbose_name = "Страница id, slug, namespace" verbose_name_plural = "Страницы id, slug, namespace" .............
например вы делаете проект, каждый раз создавать записи в админке снова и снова не очень удобно. Сделали один раз записи сохранили dump и потом заливаем одной командой.
dumpdata - здесь много тонкостей, но главное понять принцип.
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" } },
1 2 3 ... 5 6 7 >