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>