HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Чтобы начать разбираться с Django, нужно для начала создать на нем проект и запустить. Этим мы и займемся в этом уроке.</p>
1 <p>Чтобы начать разбираться с Django, нужно для начала создать на нем проект и запустить. Этим мы и займемся в этом уроке.</p>
2 <p>Проекты на Django создаются из командной строки. Первым делом создайте новый python-проект в директории<em>hexlet-django-blog</em>и добавьте в зависимости Django.</p>
2 <p>Проекты на Django создаются из командной строки. Первым делом создайте новый python-проект в директории<em>hexlet-django-blog</em>и добавьте в зависимости Django.</p>
3 <p>В случае uv нужно вызывать команды с помощью uv run: uv run django-admin version. И всё остальное точно так же.</p>
3 <p>В случае uv нужно вызывать команды с помощью uv run: uv run django-admin version. И всё остальное точно так же.</p>
4 <p>Теперь можно создать новый проект с помощью команды:</p>
4 <p>Теперь можно создать новый проект с помощью команды:</p>
5 <p>Эта команда создаст Django-проект в директории<em>hexlet_django_blog</em>и установит все зависимости, которые необходимы для работы Django. Некоторые уточнения:</p>
5 <p>Эта команда создаст Django-проект в директории<em>hexlet_django_blog</em>и установит все зависимости, которые необходимы для работы Django. Некоторые уточнения:</p>
6 <ul><li>Имя hexlet_django_blog будет именем Python-пакета, поэтому содержит подчеркивание в качестве разделителя</li>
6 <ul><li>Имя hexlet_django_blog будет именем Python-пакета, поэтому содержит подчеркивание в качестве разделителя</li>
7 <li>Точка в команде означает, что генерируемое содержимое проекта будет расположено в текущей директории. У нас уже есть директория проекта, поэтому нам не нужен лишний уровень вложенности</li>
7 <li>Точка в команде означает, что генерируемое содержимое проекта будет расположено в текущей директории. У нас уже есть директория проекта, поэтому нам не нужен лишний уровень вложенности</li>
8 </ul><p>После установки пакета нам станет доступна команда django-admin - команда для работы с Django-проектами.</p>
8 </ul><p>После установки пакета нам станет доступна команда django-admin - команда для работы с Django-проектами.</p>
9 <p>Проверим версию текущей установки Django. Для этого выполним команду в директории проекта:</p>
9 <p>Проверим версию текущей установки Django. Для этого выполним команду в директории проекта:</p>
10 <h2>Структура проекта</h2>
10 <h2>Структура проекта</h2>
11 <p>Современные фреймворки используют, чтобы разрабатывать сайты любых размеров. Это хорошо, так как есть много возможностей. Но с другой стороны в этом легко потеряться из-за большого количества функций, особенно если это ваш первый фреймворк.</p>
11 <p>Современные фреймворки используют, чтобы разрабатывать сайты любых размеров. Это хорошо, так как есть много возможностей. Но с другой стороны в этом легко потеряться из-за большого количества функций, особенно если это ваш первый фреймворк.</p>
12 <p>Помимо большого числа понятий самого Django, внутри него встроена поддержка шаблонизатора, работа со статикой, разные виды кеширования, тестирование, логирование и многое другое.</p>
12 <p>Помимо большого числа понятий самого Django, внутри него встроена поддержка шаблонизатора, работа со статикой, разные виды кеширования, тестирование, логирование и многое другое.</p>
13 <p>Это не значит, что придется использовать сразу всё. Но нужно понимать хотя бы основы каждой функции - на уровне понимания структуры проекта.</p>
13 <p>Это не значит, что придется использовать сразу всё. Но нужно понимать хотя бы основы каждой функции - на уровне понимания структуры проекта.</p>
14 <p>Ниже приведена таблица файлов с описанием их содержимого. В этом описании будут встречаться названия, которые вы пока можете не знать. Позже мы их разберем:</p>
14 <p>Ниже приведена таблица файлов с описанием их содержимого. В этом описании будут встречаться названия, которые вы пока можете не знать. Позже мы их разберем:</p>
15 <p>В процессе работы над проектом, нам предстоит модифицировать только два модуля: settings.py и urls.py. Если посмотреть в первый, то можно увидеть конфигурацию по умолчанию. Не пугайтесь ее размера, просто ощутите, сколько можно настроить в большом фреймворке.</p>
15 <p>В процессе работы над проектом, нам предстоит модифицировать только два модуля: settings.py и urls.py. Если посмотреть в первый, то можно увидеть конфигурацию по умолчанию. Не пугайтесь ее размера, просто ощутите, сколько можно настроить в большом фреймворке.</p>
16 <h2>Запуск проекта</h2>
16 <h2>Запуск проекта</h2>
17 <p>Django управляется утилитой скриптом manage.py, который находится в корне проекта. Он включает в себя десятки команд, которые упрощают процесс разработки. Одна из них - запуск сайта в режиме разработки:</p>
17 <p>Django управляется утилитой скриптом manage.py, который находится в корне проекта. Он включает в себя десятки команд, которые упрощают процесс разработки. Одна из них - запуск сайта в режиме разработки:</p>
18 <p>Эта команда запускает встроенный в Django веб-сервер, который работает в однопоточном режиме и сам перезапускается, если что-то менять в коде. Кроме того, этот сервер никогда и ничего не кэширует - это важно при редактировании шаблонов и статических файлов (JS, CSS).</p>
18 <p>Эта команда запускает встроенный в Django веб-сервер, который работает в однопоточном режиме и сам перезапускается, если что-то менять в коде. Кроме того, этот сервер никогда и ничего не кэширует - это важно при редактировании шаблонов и статических файлов (JS, CSS).</p>
19 <p>Чтобы увидеть сайт, откройте браузер и загрузите<em><a>http://127.0.0.1</a></em></p>
19 <p>Чтобы увидеть сайт, откройте браузер и загрузите<em><a>http://127.0.0.1</a></em></p>
20 <p>. Вы увидите приветственную страницу фреймворка:</p>
20 <p>. Вы увидите приветственную страницу фреймворка:</p>
21 <p>Чтобы остановить сервер, переключитесь на терминал, в котором он запущен, и наберите CTRL+C. Эта страница нужна только для проверки того, что все работает.</p>
21 <p>Чтобы остановить сервер, переключитесь на терминал, в котором он запущен, и наберите CTRL+C. Эта страница нужна только для проверки того, что все работает.</p>
22 <h2>Скрипт manage.py</h2>
22 <h2>Скрипт manage.py</h2>
23 <p>Скрипт manage.py - центральный пульт управления фреймворка. Через manage.py мы будем автоматически генерировать код, управлять базой данных, запускать сервер, консоль и многое другое. Чтобы увидеть список всех команд, запустите manage.py без аргументов:</p>
23 <p>Скрипт manage.py - центральный пульт управления фреймворка. Через manage.py мы будем автоматически генерировать код, управлять базой данных, запускать сервер, консоль и многое другое. Чтобы увидеть список всех команд, запустите manage.py без аргументов:</p>
24 <p>Этот список команд может расширяться как нами, так и разработчиками расширений. На GitHub можно найти множество полезных дополнений на все случаи жизни. В последующих уроках мы постоянно будем возвращаться к этому скрипту и изучать его команды и возможности.</p>
24 <p>Этот список команд может расширяться как нами, так и разработчиками расширений. На GitHub можно найти множество полезных дополнений на все случаи жизни. В последующих уроках мы постоянно будем возвращаться к этому скрипту и изучать его команды и возможности.</p>
25 <p>Теперь мы готовы изучать работу с Django. Будем это делать с помощью нашего проекта<em>hexlet-django-blog</em>- блога для статей.</p>
25 <p>Теперь мы готовы изучать работу с Django. Будем это делать с помощью нашего проекта<em>hexlet-django-blog</em>- блога для статей.</p>