В данной статье будет описан процесс правильной настройки сервера для работы с Django проектами. Начнем с обзора командной строки и способов установки последних версий Django (3.0) и Python 3.8. Затем перейдем к разбору виртуальных окружений, git и особенностям работы в текстовом редакторе. В результате вы будете готовы к созданию и модификации новых проектов Django за пару нажатий клавиш.
Содержание статьи
- Настройка Django через командную строку
- Виртуальное окружение Python
- Установка Django
- Установка Git для Django
- Текстовые редакторы для Django
Настройка Django через командную строку
Командная строка является мощным инструментом, который позволяет выполнять все операции через текст. Разработчики используют ее повсеместно.
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
В дальнейшем будет показано как установить и настроить Django через командную строку.
На системах Mac командную строку можно открыть через Terminal, что находится в /Applications/Utilities
. Откройте новое окно Finder, затем директорию Applications, в нижней части будет папка Utilities, из которой двойным нажатием клавиши можно запустить приложение Terminal.
В Windows есть две встроенные командные оболочки: Command shell и PowerShell. Рекомендуем использовать PowerShell, которая несколько мощнее.
Если в примере требуется обратиться к «командной строке», значит вы должны открыть новую консоль, используя Terminal или PowerShell.
Существует множество команд и их вариаций, однако на практике при разработке в Django чаще всего используются следующие шесть:
cd
— перейти на директорию;cd ..
— перейти на директорию выше;ls
— вывести список файлов в текущей директории;pwd
— вывести название текущей директории;mkdir
— создать директорию;touch
— создать новый файл.
Запустите командную строку и посмотрите, как действует каждая команда. Знак доллара ($
) является подсказкой, что перед вами командная строка. Все команды даны после знака $
. Предположим, вы работаете на Ubuntu Linux. Давайте поменяем директорию рабочего стола Desktop.
1 |
$ cd ~/Desktop |
Заметьте, что наше текущее местоположение, то есть ~/Desktop
, в командной строке было автоматически добавлено перед знаком $
. Для подтверждения верности отображаемой локации, можно использовать pwd
. Она выведет адрес текущей директории.
1 2 |
~/Desktop $ pwd /home/wsv/Desktop |
На Ubuntu полученная строчка будет значить, что сейчас работает пользователь wsv
, который использует данный аккаунт на рабочем столе desktop
.
Теперь создадим новую директорию при помощи mkdir
, задействуем cd
, после чего создадим новый файл index.html
, используя команду touch
. Стоит отметить, что, к сожалению, в Windows нельзя использовать команду touch
. Если дается инструкция к созданию нового файла, делайте это в выбранном текстовом редакторе.
1 2 |
~/Desktop $ mkdir new_dir && cd new_dir ~/Desktop/new_dir $ touch index.html |
Теперь используйте ls
для отображения списка всех файлов текущей директории. Как видите, здесь только что созданный index.html
.
1 2 |
~/Desktop/new_dir $ ls index.html |
На финальном этапе вернемся в директорию Desktop, для чего используем команду cd ..
и затем проверим верность локации с pwd
.
1 2 3 |
~/Desktop/new_dir $ cd .. ~/Desktop $ pwd /home/wsv/Desktop |
Некоторые разработчики обходятся без мышки, используя только командную строку. С практикой такой подход значительно ускоряет скорость работы.
Виртуальное окружение Python pipenv
Виртуальные окружения является незаменимыми аспектами программирования на Python. Это изолированные контейнеры, которые состоят из необходимых для рассматриваемого проекта программных инструментов. Они крайне важны, так как по умолчанию Python и Django устанавливаются в одну и ту же директорию. По этой причине могут возникнуть проблемы, когда пользователь хочет работать сразу с несколькими проектами на одном компьютере. Что, если ProjectA
использует Django 3.0, а прошлогодний ProjectB
все еще на Django 1.11?
Виртуальные окружения решают проблемы, которые возникают при параллельной работе над несколькими задачами.
Существует огромное количество отраслей программирования, где не утихают дискуссии касательно применения тех или иных инструментов. Однако, в отношении виртуальных окружений Python спорить нет нужды. Вы должны использовать отдельное виртуальное окружение для каждого нового проекта Python.
Для управления управления виртуальными окружениями мы будем использовать Pipenv. Pipenv похож на npm
и yarn
из JavaScript/Node экосистем: он создает Pipfile
, в котором находятся необходимые программные инструменты, а также Pipfile.lock
для обеспечения детерминированных сборок. «Детерминирование» предполагает, что при каждой загрузке программы в новое виртуальное окружение конфигурация будет оставаться прежней.
Себастиан МакКензи, создатель Yarn, в котором был введен концепт пакетирования JavaScript, сделал небольшой пост о детерминирования и его важности. C Pipenv мы будем создавать новое виртуальное окружение для каждого проекта Django.
Для инсталляции Pipenv
можно использовать pip
, который Homebrew (Mac) установил автоматически, как и Python 3. Если у вас любая другая операционная система, то команда та же.
1 |
$ python3 -m pip install pipenv |
Установка Django через pipenv
Для того чтобы оценить Pipenv
в действии, создадим новую директорию и установим Django. Первым делом переместимся на рабочий стол Desktop. Там будет создана новая директория django
, куда нам нужно будет попасть при помощи команды cd
.
1 2 3 |
$ cd ~/Desktop $ mkdir django $ cd django |
Теперь используем Pipenv для инсталляции Django.
1 |
$ pipenv install django==3.0 |
Если загляните внутрь нашей папки, то увидите, что в ней появилось два новых файла: Pipfile
и Pipfile.lock
. Теперь у нас есть вся информация, необходимая для создания нового виртуального окружения, однако пока ничего не активировано. Исправим положение через pipenv shell
.
1 |
$ pipenv shell |
При работе на Ubuntu вы увидите, что название текущей директории в командной строке взято в скобки. Это значит, что виртуальное окружение активировано. Будучи внутри папки django
, перед знаком $
командной строки мы увидим (django)
.
Стоит иметь в виду, что из-за бага в системе Windows, сейчас нет возможности получить визуальное подтверждение об активации виртуального окружения. Однако в следующей секции можно запустить django-admin startproject
— тогда станет ясно, что виртуальное окружение Django установлено должным образом.
1 |
(django) $ |
Все работает! Теперь создаем новый проект Django под названием test_project
при помощи следующей команды. Не забудьте в конце поставить точку.
1 |
(django) $ django-admin startproject test_project . |
Немного остановимся на причине использования точки (.) в предыдущей команде. Если вы просто запустите django-admin startproject test_project
то Django по умолчанию создаст следующую структуру:
Структура
1 2 3 4 5 6 7 |
└── test_project ├── manage.py └── test_project ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py |
Как видите, создается новая директория test_project
, в ней файл manage.py
и еще одна директория test_project
. Чувствуется повторение, ведь ранее мы уже создали директорию django
на рабочем столе и переместились в нее. Будет лучше выполнить команду django-admin startproject test_project .
с точкой на конце. Это нужно для установки в данную конкретную папку — на сей раз результат будет таков:
Структура
1 2 3 4 5 6 |
├── manage.py └── test_project ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py |
Стоит отметить, что по сути особого значения не имеет, будет ли на конце команды точка или нет, однако но некоторые разработчики предпочитают ее включать.
По мере изучения Django вы столкнетесь с ситуациями и вопросами, на которые нельзя ответить однозначно — помогает только практика. У Django отличная кастомизация, которая считается одной из его сильных сторон. Поначалу гибкость настройки может показаться сложной, но в подобающем большинстве случаев трудность кажущаяся. В общем и целом поиск собственных путей решения неоднозначных задач, а также выработка собственных привычек программиста станет отличным опытом.
Осталось убедиться, что все работает. Для этого запустим локальный веб-сервер Django.
1 |
(django) $ python manage.py runserver |
Мы получим такой ответ:
1 2 3 4 5 6 7 8 9 10 11 12 |
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. May 05, 2020 - 12:36:09 Django version 3.0, using settings 'test_project.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. |
При посещении http://127.0.0.1:8000/
откроется следующая страница:
Приветственная страница Django
Для остановки локального сервера используйте комбинацию CTRL+C
. После этого выйти из виртуального окружения можно при помощи команды exit
.
1 |
(django) $ exit |
Вновь активировать виртуальное окружение можно в любое время. — для этого используется команда pipenv shell
в терминале.
Если вы сталкиваетесь с виртуальными окружениями впервые, сейчас они могут показаться немного запутанными, но не беспокойтесь — по ходу изучения все прояснится. Базовый принцип строится на установке новых пакетов через pipenv
, их активации с pipenv shell
и выхода через exit
по мере завершения процесса.
Будет не лишним отметить, что через командную строку за раз можно активировать только одно виртуальное окружение. Мы будем создавать новое виртуальное окружение для каждого проекта. По этой причине перед созданием нового проекта не забывайте выходить из текущего окружения через exit
или открывайте другие вкладки для новых проектов.
Установка и настройка Git для сайта на Django
Git является неотъемлемой частью разработки современного программного обеспечения. Это система управления версиями, которая отслеживает и фиксирует изменения в вашем проекте. Git позволяет без лишних проблем вести сотрудничество с другими разработчиками, быть в курсе изменений в проекте и возвращаться к предыдущим версиям написанного кода даже в тех случаях, когда было удалено нечто крайне важное.
Для установки git в Ubuntu, можете выполнить следующею команду:
1 |
$ sudo apt install git |
Для систем Windows требуется скачать git со страницы Git for Windows. Отметьте кнопку «Download» и следуйте инструкциям установки.
После установки необходимо выполнить настройку системы, указав имя и адрес электронной почты, которые будет связаны со всеми git-коммитами. В командной строке наберите следующие две строчки, поменяв параметры имени и электронной почты на свои.
1 2 |
$ git config --global user.name "Ваше имя" $ git config --global user.email "yourname@email.com" |
Изменить данные конфигурации можно в любое время, для чего нужно выполнить все те же команды, но с новыми данными.
Редакторы кода при работе с Django
Напоследок рассмотрим принципы работы с текстовым редактором. В командной строке мы выполняем команды для существующих программ, однако сам код пишется в текстовом редакторе. Компьютеру не важно, какой редактор вы будете использовать, ведь где код ни напиши, его структура будет одной и той же. Однако, текстовый редактор с удобным визуальным интерфейсом и обширным набором инструментов может значительно облегчить процесс разработки.
Многие разработчики предпочитают Vim или Emacs. Данные редакторы могут работать в чистых текстовых режимах, оба на рынке вот уже на протяжении более чем десяти лет и сумели собрать огромное число поклонников. Тем не менее, новичкам начинать работу с Vim или Emacs будет сложновато — потребуется запомнить множество комбинаций клавиш и приспособиться к интерфейсу.
Современные текстовые редакторы совмещают мощный функционал и приятный визуальный интерфейс. Мои текущим фаворитом является Visual Studio Code — распространяется бесплатно, легко устанавливается и пользуется большой популярностью. Если у вас еще нет редактора, можете скачать и установить Visual Studio Code прямо сейчас.
Заключение
Многие не любят настраивать локальную среду разработки, и, к счастью для них, это нужно сделать всего раз. На текущий момент мы установили последние версии Python и git, а также познакомились с принципом работы виртуальных окружений. Для создания первого приложения Django все готово.
Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.
E-mail: vasile.buldumac@ati.utm.md
Образование
Universitatea Tehnică a Moldovei (utm.md)
- 2014 — 2018 Технический Университет Молдовы, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Технический Университет Молдовы, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»