HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Этот курс состоит из двух видов практик. Одна выполняется в редакторе Хекслета, другая - на собственном компьютере. Второй вид практики предполагает наличие настроенного Django-проекта, поскольку Django ORM является неотделимой частью фреймворка Django. Мы подготовили такой проект заранее. Вам будет необходимо склонировать к себе готовый репозиторий и проверить его работоспособность:</p>
1 <p>Этот курс состоит из двух видов практик. Одна выполняется в редакторе Хекслета, другая - на собственном компьютере. Второй вид практики предполагает наличие настроенного Django-проекта, поскольку Django ORM является неотделимой частью фреймворка Django. Мы подготовили такой проект заранее. Вам будет необходимо склонировать к себе готовый репозиторий и проверить его работоспособность:</p>
2 <p>В качестве базы данных в этом проекте используется SQLite. Такой выбор никак не влияет на работу с ORM, но значительно упрощает настройку и запуск кода на выполнение. SQLite в отличие от больших СУБД, хранится в одном файле и работает напрямую из кода. Под неё не поднимается отдельное приложение в системе.</p>
2 <p>В качестве базы данных в этом проекте используется SQLite. Такой выбор никак не влияет на работу с ORM, но значительно упрощает настройку и запуск кода на выполнение. SQLite в отличие от больших СУБД, хранится в одном файле и работает напрямую из кода. Под неё не поднимается отдельное приложение в системе.</p>
3 <h2>Основные части репозитория</h2>
3 <h2>Основные части репозитория</h2>
4 <p>В целом проект устроен примерно так же, как было описано в курсе по введению в Django. Ниже перечислены те части репозитория, которые касаются практик к данному курсу:</p>
4 <p>В целом проект устроен примерно так же, как было описано в курсе по введению в Django. Ниже перечислены те части репозитория, которые касаются практик к данному курсу:</p>
5 <ul><li>Makefile - набор команд для работы с проектом</li>
5 <ul><li>Makefile - набор команд для работы с проектом</li>
6 <li>python_django_orm_blog/ - Python package, являющийся Django-проектом</li>
6 <li>python_django_orm_blog/ - Python package, являющийся Django-проектом</li>
7 <li>python_django_orm_blog/settings.py - настройки Django-проекта</li>
7 <li>python_django_orm_blog/settings.py - настройки Django-проекта</li>
8 <li>python_django_orm_blog/blog - единственное Django-приложение в рамках проекта</li>
8 <li>python_django_orm_blog/blog - единственное Django-приложение в рамках проекта</li>
9 <li>python_django_orm_blog/blog/models.py - здесь описаны модели приложения, с ними и предстоит работать</li>
9 <li>python_django_orm_blog/blog/models.py - здесь описаны модели приложения, с ними и предстоит работать</li>
10 <li>python_django_orm_blog/blog/tests.py - здесь находятся тесты для приложения, их состав вы тоже будете пополнять</li>
10 <li>python_django_orm_blog/blog/tests.py - здесь находятся тесты для приложения, их состав вы тоже будете пополнять</li>
11 </ul><h2>REPL (Django shell)</h2>
11 </ul><h2>REPL (Django shell)</h2>
12 <p>Лучший способ "поиграться" с кодом данного проекта - использовать<a>shell_plus</a>. У Django есть встроенная команда "shell", shell_plus из пакета<a>django-extensions</a>всего лишь делает её удобнее. В данном проекте в Makefile уже заведена соответствующая команда для запуска, можете смело выполнить make shell.</p>
12 <p>Лучший способ "поиграться" с кодом данного проекта - использовать<a>shell_plus</a>. У Django есть встроенная команда "shell", shell_plus из пакета<a>django-extensions</a>всего лишь делает её удобнее. В данном проекте в Makefile уже заведена соответствующая команда для запуска, можете смело выполнить make shell.</p>
13 <p>После запуска вы увидите привычный Python REPL, но при этом база данных окажется подключена и все модели из каждого приложения уже будут импортированы. Заодно shell_plus импортирует и большую часть инструментов из состава фреймворка. Таким образом вы сможете сразу начать работать с БД, а shell отобразит каждый SQL-запрос, который сформирует ORM - это очень удобно при отладке и оптимизации работы с базой данных.</p>
13 <p>После запуска вы увидите привычный Python REPL, но при этом база данных окажется подключена и все модели из каждого приложения уже будут импортированы. Заодно shell_plus импортирует и большую часть инструментов из состава фреймворка. Таким образом вы сможете сразу начать работать с БД, а shell отобразит каждый SQL-запрос, который сформирует ORM - это очень удобно при отладке и оптимизации работы с базой данных.</p>
14 <p>В последующих уроках будет много примеров кода. Не забывайте запускать REPL и выполнять примеры в нём. Это поможет лучше разобраться с материалом и закрепить его на практике.</p>
14 <p>В последующих уроках будет много примеров кода. Не забывайте запускать REPL и выполнять примеры в нём. Это поможет лучше разобраться с материалом и закрепить его на практике.</p>