Вы находитесь на странице: 1из 17

Django - что это такое, порядок установки

Как вы думаете, что общего между


youtube, google search, dropbox и instagram?
Что необходимо знать?
• Язык Python (в том числе и его
ООП);
• работа с шаблонами (например, пакет
Jinja);
• базовые знания работы с SQL-
запросами;
• регулярные выражения.
Давайте теперь разберемся, для чего же
вообще предназначен фреймворк Django?
Сначала от клиента поступает запрос, например, он вводит в браузере адрес
https://youtube.com. Информационные пакеты начинают двигаться в сторону
сервера с сайтом Youtube. Главное, что они доходят до сервера (то есть,
компьютера), где расположен Youtube. На этом компьютере установлено
специальное программное обеспечение – Web-сервер. Очень часто используют
уже готовые разработки с открытым кодом: Apache и Nginx. Реже какие-либо
свои программные продукты. Так вот, этот Web-сервер постоянно «слушает»
каналы связи и в момент поступления запроса от пользователя должен
перенаправить его на обработку соответствующему сайту (так как на одном
сервере может находиться множество сайтов). Сайты способны по разному
обрабатывать входящие запросы, например, используя PHP и CGI скрипты, или
же могут использовать фреймворки – обертки для выбранного языка
программирования, значительно упрощающие обработку запросов от клиентов
сайта. В частности, Django – это и есть такая обертка для языка Python. В этом
случае сервер по интерфейсу WSGI передает обработку запроса этому
фреймворку, используется определенное представление, отвечающее за текущий
запрос, и результатом обработки, как правило, является HTML-страница, которая
сначала передается Web-серверу также по WSGI-интерфейсу, а он уже передает
страницу конечному пользователю. Страница отображается в браузере клиента и
он видит заветный сайт Youtube. Вот так в очень упрощенном виде происходит
взаимодействие между пользователем, сервером и фреймворком.
WSGI (Web Server Gateway Interface) — стандарт
взаимодействия между Python-программой,
выполняющейся на стороне сервера, и самим веб-
сервером.
Во всех современных компьютерах функционирует
внутренняя сеть, которая называется:
localhost – 127.0.0.1
Пакет Django в своем составе содержит отладочный
Web-сервер, который можно запустить на домашнем ПК
и проверить работу сайта, не используя сторонний
сервер. Конечно, после полной разработки и отладки
проекта сайты почти всегда размещаются на арендуемых
серверах (хостингах) и уже там работают в боевом режиме.
Создание виртуального окружения
Установим фреймворк Django на свой
домашний компьютер. Здесь есть
множество вариантов, мы воспользуемся
наиболее распространенным – установим
официальный релиз в новое виртуальное
окружение (venv).
Django – это серьезный фреймворк и
часто он взаимодействует с другими
пакетами языка Python, да и сама версия
Python может иметь значение.
Но на компьютере уже могут присутствовать другие версии программных
модулей или же их потребуется установить в будущем. Например, новую версию
интерпретатора Python. Это может негативно сказаться на разрабатываемом
проекте. Чтобы этого не происходило, как раз и создается виртуальное
окружение, и все что установлено внутри него надежно изолируется от других
окружений, в том числе и глобального. Мы именно так и поступим – создадим
виртуальное окружение и разместим в нем текущую версию языка Python и
фреймворка Django.
Для этого нам понадобится установленный интерпретатор Python в
глобальном окружении и работа с командной строкой. Если Python у вас еще не
установлен, то скачайте его с официального сайта:
https://www.python.org/downloads/
Итак, чтобы работать с командной строкой Windows можно
нажать комбинацию клавиш Win+R и в появившемся окне
набрать команду cmd. Если все сделаете правильно, то появится
вот такое консольное окно:
Воспользуемся удобной бесплатной программой ConEmu,
которую можно бесплатно скачать по адресу:
https://conemu.ru
После установки и первого запуска в поле «Choose your
startup task or even shell with arguments:» укажу{Shells::cmd
(Admin)}:
И после нажатия на кнопку «OK» увидим следующее
окно:
Для проверки работоспособности интерпретатора Python наберем команду:
python -V
Если все работает, то должны увидеть текущую версию языка. Если этого не
произошло, то, скорее всего, у вас не установлен Питон в глобальном
окружении. Далее, с помощью команды:
pip list
Можно посмотреть список установленных пакетов опять же в глобальном
окружении, т.к. именно в нем сейчас находимся.
Далее, создаем папку, в которой будет устанавливаться виртуальное
окружение:
D:/Python/django/djsite
И в командной строке перейдем в этот каталог:
cd D:/Python/django/djsite
Затем, выполняем команду:
python -m venv venv
для создания виртуального окружения с именем venv в текущей папке. Все,
виртуальное окружение создано и мы видим дополнительную папку venv.
Внутри нее имеются различные вложенные каталоги, которые и определяют
содержимое данного окружения. Осталось его запустить. Находясь в папке
D:/Python/django/djsite, выполним команду:
.\venv\Scripts\activate
Установка Django
Теперь у нас все готово для установки самого фреймворка
Django в созданное виртуальное окружение. Итак, открываем
созданный проект, указав папку:
D:/Python/django/djsite
и после индексирования всех файлов интегрированная среда
автоматически активизирует установленное виртуальное
окружение. Для этого следует перейти на вкладку Project
Interpreter:
File -> Settings -> Project:djsite -> Project Interpreter
и указать интерпретатор из установленного окружения.
Далее, находясь в корневой папке проекта, мы должны
выполнить непосредственно установку Django с помощью
очевидной команды:
pip install django
После этого в наше виртуальное окружение будет
устанавливаться данный фреймворк со всеми необходимыми
зависимостями. Если теперь выполнить команду:
pip list
то мы увидим последнюю рабочую версию Django и несколько
дополнительных пакетов, необходимых для его работы.
Но это лишь ядро фреймворка с общим функционалом.
Используя это ядро, мы можем создавать множество разных сайтов
под управлением Django в рамках текущего виртуального
окружения. Чтобы посмотреть список команд ядра, достаточно в
терминале записать:
django-admin
Так вот, для создания нашего первого сайта, нам понадобится
команда startproject, которая записывается так:
django-admin startproject <имя сайта>
Здесь «имя сайта», обычно, является доменным именем.
Например, если мы собираемся располагать сайт на домене:
coolsite.ru
то в качестве имени логично выбрать coolsite.
И фреймворк создал папку coolsite в рабочей папке проекта. Внутри
этой папки имеется одноименная вложенная папка пакета, который
определяет конфигурацию нашего сайта. Поэтому его часто так и
называют – пакетом конфигурации. Также есть еще один отдельный
файл manage.py, через который и производится управление данным
сайтом. Например, мы будем создавать приложение, выполнять
миграции БД, запускать тестовый веб-сервер и так далее. В
действительности, это всего лишь своеобразная утилита, посредник,
который передает наши команды django-admin и выполняет их «от лица»
нашего сайта. Подробнее обо всем этом мы еще будем говорить.
Давайте теперь запустим тестовый веб-сервер на нашем локальном
компьютере и убедимся, что созданный сайт работает. Для этого
перейдем в папку coolsite:
cd coolsite
и выполним файл manage.py с командой runserver:
python manage.py runserver
Происходит запуск локального Веб-сервера, который поставляется
вместе с Django, и наш сайт должен быть доступен по адресу
http://127.0.0.1:8000.
Преимущество отладочного сервера в том, что он
автоматически перезапускается при изменении
программы сайта. На практике это дает большое
удобство. Но полностью полагаться на эту
возможность не стоит, так как иногда Django все же
игнорирует изменения, а точнее, новые дополнения,
например, новые созданные файлы. Поэтому, если
вы видите, что что-то работает не так, попробуйте
просто перезапустить сервер вручную. Для его
завершения достаточно нажать комбинацию
клавиш:
Ctrl + Break (а также Ctrl + C в Windows)
а, затем, снова запустить:
python manage.py runserver
Также обратите внимание, что при первом запуске
сервера в проекте появился еще один файл db.sqlite3
– файл БД SQLite3. Дело в том, что по умолчанию
Django использует именно такую СУБД. В
дальнейшем, можем это изменить и указать любую
другую СУБД, которую поддерживает данный
фреймворк. Это может быть:
PostgreSQL, MariaDB, MySQL, Oracle и SQLite
Но вернемся к запуску сервера. Его можно
запускать также и со следующими параметрами:
python manage.py runserver 4000
или так:
python manage.py runserver 192.168.1.1:4000

Вам также может понравиться