Установка виртуальной среды django windows

Установка виртуальной среды django windows

Перед началом работы с Django нам естественно надо установить интерпретатор Python. Подоробнее об этом можно почитать здесь.

Существуют разные способы установки Django. Рассмотрим рекомендуемый способ.

Для установки нам потребуется пакетный менеджер pip . Менеджер pip позволяет загружать пакеты и управлять ими. Нередко, при установке python также устанавливается и менеджер pip. В этом случае мы можем проверить версию менеджера, выполнив в командной строке/терминале следующую команду:

Но если pip не установлен, то мы увидим ошибку типа «pip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом . В этом случае нам надо установить pip.

Для этого нам надо загрузить скрипт https://bootstrap.pypa.io/get-pip.py. Просто перейдем на эту страницу и сохраним все ее содержимое в новый файл get-pip.py . Допустим, данный файл будет сохранен в папку C:\python . Перейдем в папку, где сохранен файл и выполним в командной строке/консоли следующую команду:

Если pip ранее уже был установлен, то можно его обновить с помощью команды

Установка виртуальной среды

Виртуальная среда или virtualenv не является неотъемлимой частью разработки на Django. Однако ее рекомендуется использовать, так как она позволяет создать множество виртуальных сред Python на одной операционной системе. Благодаря виртуальной среде приложение может запускаться независимо от других приложений на Python.

В принципе можно запускать приложения на Django и без виртуальной среды. В этом случае все пакеты Django устанавливаются глобально. Однако что если после создания первого приложения выйдет новая версия Django? Если мы захотим использовать для второго проекта новую версию Django, то из-за глобальной установки пакетов придется обновлять первый проект, который использует старую версию. Это потребует некоторой дополнительной работы по обновлению, так как не всегда соблюдается обратная совместимость между пакетами. Если мы решим использовать для второго проекта старую версию, то мы лишиемся потенциальных преимуществ новой версии. И использование вируальной среды как раз позволяет разграничить пакеты для каждого проекта.

Для работы с виртуальной средой вначале необходимо установить пакет virtualenv с помощью следующей команды

Теперь создадим вируальную среду. Вначале определим каталог для виртуальных сред, где будут располагаться все связанные файлы и папки. Например, пусть это будет каталог C:\virtualenv . Прежде всего перейдем в командной строке/терминале в этот каталог с помощью команды cd. Затем для создания виртуальной среды выполним следующую команду:

Команде virtualenv передается название среды, которая в данном случае будет называться «hello».

После этого в текущей папке будет создан подкаталог hello.

Активация виртуальной среды

Для использования виртуальную среду надо активировать. И каждый раз, когда мы будем работать с проектом Django, связанную с ним виртуальную среду надо активировать. Например, активируем выше созданную среду, которая располагается в текущем каталоге в папке hello. Если наша ОС — Windows, то в папке hello/Scripts/ мы можем найти файл activate.bat , который активирует виртуальную среду. Поэтому для Windows активация виртуальной среды будет выглядеть таким образом:

Для Linux и MacOS активация будет производиться с помощью следующей команды:

После окончания работы с виртуальной средой мы можем ее деактивировать. Для этого в той же папке hello/Scripts/ мы можем найти файл deactivate.bat и таким же образом запустить его.

Установка Django

После активации виртуальной среды для установки Django выполним в консоли следующую команду

Установка Django на Windows

Перед тем как начать изучение фреймворка Django для разработки веб-приложений на языке программирования Python, нам необходимо его установить. Для помощи в установке Django на Windows мы подготовили для вас пошаговую инструкцию.

Шаг 1. Установка Python

Перед установкой Django, вам необходимо установить на ваш компьютер Python. О том как это сделать по ОС Windows мы уже писали ранее статью: УСТАНОВКА PYTHON 3 НА WINDOWS. Проследуйте инструкциям указанным в данной статье и возвращайтесь сюда, для установки Django.

Шаг 2. Установка Pip

Pip необходим для удобной установки пакетов, написанных на Python. Он нам понадобится для установки Django. Начиная с версии Python 3.4 установка Pip происходит автоматически. Но лучше убедиться, что Pip установлен, и если обнаружится, что нет, то установить его.

Читайте также:  Люмия 920 поставить windows 10 mobile инструкция

Для начала запустим командную строку Windows. Для этого нажмите Win+R и введите cmd.

В командной строке введем:

Если после выполнения данной операции вы увидите сообщение о версии pip, то всё нормально — можете переходить к следующему шагу.

Если вместо сообщения о версии (картинка сверху) вы увидели сообщение об ошибке, то вам необходимо установить pip.

  1. Скачайте get-pip.py. Если ваш браузер сразу открывает код, то на странице нажмите правую кнопку мыши и выберете «Сохранить как…»
  2. Запустите скачанный файл с правами Администратора или через командную строку. Для установки pip через командную строку, перейдите в ней в папку с скаченным get-pip.py и выполните команду:
  3. Снова выполните проверку версии pip.

Шаг 3. Создание виртуального окружения

Виртуальное окружение (virtualenv) необходимо, чтобы изолировать фреймворк Django для каждого проекта. Это предотвратит возможное изменения в одном проекте при редактировании другого, а также позволит использовать разные версии Django для разных проектов.

Мы рекомендуем выполнять данный шаг, хотя его можно и пропустить. Но лучше уже при обучении всё делать правильно и «по уму».

Для установки виртуального окружения выполним несколько шагов:

    Откройте командную строку и перейдите в директорию, где хотите создать проект.

Здесь мы создали директорию djangoset1 и осуществили переход в неё.

Создадим виртуальное окружение с именем venvset1 (имя можно выбрать любое):

При выполнении этой команды, создается новая директория с необходимыми файлами.
Запустим виртуальное окружение virtualenv, выполнив команду в командной строке Windows:

Если вы увидели строку, как на картинке выше, то всё у вас получилось.

Шаг 4. Установка Django в виртуальное окружение через pip

Подготовительные работы завершены. Теперь установим Django в созданное виртуальное окружение virtualenv через pip. Выполним в командной строке команду:

Если установка прошла успешно, вы увидите следующее:

На этом всё, теперь можно начинать изучать Django и написать своё первое приложение.

Создание первого приложения во фреймворке Python Django 3

Django — это веб фреймворк написанный на Python с помощью которого можно быстро создавать веб приложения и сайты. В этой статье будет рассмотрена установка Django 3 с созданием простого приложения на Linux или Windows.

Навигация по посту

Что такое фреймворк?

Если упрощать понятие фреймворка можно сказать, что это просто набор готовых компонентов (классов, модулей, пакетов), которые разработчик может включать в программу тем самым экономя свое время. Один из таких компонентов может быть модуль аутентификации так как он требуется практически во всех приложениях, а за счет использования фреймворка вы можете не задумываться о всех деталях логики, а просто импортировать его.

Веб-фреймворки, на примере Django, можно грубо сравнить с CMS (Bitrix, WordPress). Создавая сайт на CMS вы сразу получаете инструменты с которыми могут работать конечные пользователи. Это могут быть: системы оплаты, компоненты для ведения клиентов, корзина и т.д. Иногда они хороши и их достаточно, но если понадобится расширение функционала — это может вызвать сложности.

Во фреймворках изначально нет никаких инструментов для конечного пользователя, но их можно построить с помощью существующего функционала и сделать такими как вам хочется. Django как раз и отличается тем, что вы можете сделать это быстро и понятно для других разработчиков.

Социальную сеть, так же как и примеры ниже, построить на CMS практически невозможно.

Что написано на Django?

В список проектов, которые полностью или частично используют Django, включают: Disqus, Instagram, Spotify, YouTube, DropBox, Mozzila, Pinterst.

Этот список описан в большинстве статей, но проверить наверняка практически не возможно.

Установка Django

Для установки фреймворка у вас уже должен быть Python версии > 3.6. Проверить это можно в любом терминале так:

В зависимости от ОС интерпретатор python может писаться без и с версией (как на примерах выше). В Linux в чаще используется ‘python3’, а в Windows просто ‘python’. Это правило касается и pip.

Pip — это менеджер пакетов. Проще говоря через него удобнее устанавливать и удалять пакеты. В Windows он уже должен быть, а для Linux устанавливается отдельно:

Каждый проект Django рекомендуется создавать в отдельной виртуальной среде. Виртуальная среда помогает нам следить за версиями пакетов, которые мы будем устанавливать для определенного проекта. Если это первый проект, то его можно создать и вне виртуальной среды, но если планируется перенос на хостинг — это крайне рекомендуется.

Перейдите в директорию где вы планируете создать свой проект и выполните следующую команду для создания виртуального окружения:

То что мы находимся в рамках виртуального окружения говорит следующая часть:

Читайте также:  Виджеты производительности для windows 10

В рамках этого окружения мы выполняем установку Django:

Создание проекта

Создание проекта с именем app можно выполнить следующей командой:

Моя структура папок имеет следующий вид:

Сам проект (директория) app имеет следующую структуру:

  1. manage.py — файл, с помощью которого мы можем управлять нашим проектом. С помощью него можно запустить проект, создание и выполнить миграцию в базу данных, создать суперпользователя и много другое;
  2. wsgi.py — это файл, который используется при переносе проекта на хостинг. С помощью него часть задач выполняет Django (динамические файлы), а часть задач такой сервер как Apache/Nginx (статические файлы, например картинки);
  3. urls.py — файл описывающий отношения между url, которые будет открывать пользователь и функциями, которые этот запрос будут обрабатывать. urls.py часто называют файлом маршрутизации;
  4. settings.py — описывает настройки проекта. Это может быть база данных, часовой пояс, место где будут храниться статические файлы и многое другое;
  5. __init__ — идентифицирует приложение как модуль;
  6. asgi.py — замена wsgi.py, так как он считается устаревшим. Это новинка в Django 3 для поддержки асинхронного программирования.

Для проверки работы Django мы можем сразу его запустить. Запуск осуществляется через manage.py:

О запущенном сервере говорит окно под номером 1. Если открыть адрес в браузере ‘http://127.0.0.1:8000/’, то мы увидим окно под номером 2:

Использование виртуальных сред venv и virtualenv для создания окружения Python

Создание приложения

Приложение — это функциональная часть Django. В нем мы будем описывать логику той программы, которую захотим создать. Для примера мы хотим создать приложение, которое будет генерировать случайное число — его мы назовем ‘generator’. Приложения создаются следующей командой:

В директории с проектом появится папка ‘generator’ со следующим содержимым:

  1. vews.py — в этом файле описывается основная функциональная часть приложения. Когда посетитель сайта откроет какую-то страницу его запрос будет сравнен с тем, что находится в urls.py, а затем уже будет вызвана одна из функций во views.py;
  2. test.py — здесь создаются методы, которые могут протестировать работу приложения;
  3. models.py — в этой части, в основном, прописываются таблицы для базы данных. По умолчанию используется база sqllite, но можно подключить и другие;
  4. migrations — папка в которой будут храниться запросы для базы данных. Запросы создаются автоматически, но после определенной команды;
  5. __init__ — говорит, что папка — это модуль;
  6. apps.py — настройки приложения;
  7. admin.py — в Django есть панель администрирования, которую можно открыть по адресу http://127.0.0.1/admin/ . В этом файле можно связать приложение с этой панелью тем самым добавив возможность редактирования каких-то данных для себя или конечных пользователей. Например это может быть возможность редактирования записей в блоге.

По умолчанию приложение не связано с проектом. Для его связи нужно отредактировать файл ‘settings.py’ в папке ‘app’.

Нужно добавить строку следующего формата ‘папка приложения.файл конфигурации приложения.имя класса’. По умолчанию файл конфигурации называется apps, а название класса можно увидеть внутри него.

В файле settings.py, в списке ‘INSTALLED_APPS’ уже содержаться приложения. Они нужны для самого Django. Если вы будете устанавливать дополнительные приложения для Django, их тоже нужно будет добавлять в этот список.

Откроем файл views.py и добавим следующие строки:

  • request — это аргумент функции который хранит метаданные запроса пользователя. Называть этот аргумент именно так не обязательно, но это обще принятая практика;
  • HttpResponse — это базовая функция, которая вернет пользователю указанную информацию. На практике, обычно, используются другие функции и классы, но для простой демонстрации он подходит лучше всего.

Данную функцию нужно привязать к определенному адресу в urls.py:

  1. Мы импортируем функцию, которую создали в приложении generator;
  2. Мы связываем путь », который является корневым (т.е. http://127.0.0.1/) с определенным адресом. Теперь, каждый раз открывая главную страницу, будет срабатывать эта функция.

В urls.py так же можно видеть ссылку на панель администрирования — пользователя для нее создадим позже.

Обновляя страницу мы будем видеть разные числа:

Создание шаблона

Шаблоны в Django (templates), упрощая, это html страницы. Когда пользователь открывает какую-то страницу, то Django может взять шаблон и добавить в него ваши переменные и функции, а затем вернуть пользователю. Чаще всего эти значения называются тэгами (template tags). По умолчанию эти шаблоны создаются для каждого приложения отдельно.

Что бы использовать шаблоны нам нужно создать путь ‘templates/generator/’ в папке приложения ‘generator’. В этой директории нужно создать файл ‘index.html’

В файл index.html поместите следующий текст:

  • << num >> — это переменная, которую мы будем передавать в этот шаблон;
  • <% now "SHORT_DATETIME_FORMAT" %>— это функция, которая возвращает время в коротком формате.

Обычно переменные используются через двойные скобки, а функции и методы через скобку со знаком %.

В файле views.py изменим код указав шаблон и переменную из примера выше:

  • render — это функция, которая объединит шаблон с контекстом (добавит переменные);
  • request — это запрос пользователя;
  • generator/index.html — шаблон, который мы создавали на предыдущем шаге;
  • — словарь, который содержит данные для шаблона.

Похожих функций и методов много. Например можно использовать в шаблонах циклы, форматировать даты, проверять прошел ли пользователь аутентификацию, а так же создавать свои и многое другое. Все из них можно найти по запросам ‘теги шаблонов Django’ или ‘template tags Django’.

Так же можно создавать базовые шаблоны, с элементами которые используются на всем сайте и использовать конструкции типа <% block %> <% include %><% extend %>, которые будут дополнять его.

Создание модели

Модели — это объекты с помощью которых можно создать таблицу в базе данных, а так же получить из нее данные. Такие объекты создаются в файле models.py для каждого приложения отдельно.

Сделаем так, что бы случайные числа сохранялись вместе с тем временем в какое они были созданы. Для этого запишите в файл model.py следующий код:

  • Numbers — это имя класса и название таблицы (не полное), которое будет создано в базе данных;
  • models.Model — имя класса от которого мы наследуемся. Каждая модель должна наследоваться от него;
  • IntegerField / DateTimeField — для каждой колонки в базе данных должен быть указан тип данных, который будет в нем хранится. В нашем случае это число и дата со временем. Таких типов данных много;
  • blank — обозначает может ли поле быть пустым;
  • auto_now — говорит, что дата будет фиксироваться и вноситься в строку таблицы автоматически.

После создания модели нам нужно выполнить две команды:

Далее нам нужно изменить файл views.py добавив следующую логику:

Любая модель в Django возвращает объект типа ‘QuerySet’ (как в случае с переменной ‘all_numbers’ выше). Это тип немного похож на обычный словарь, а значения, которые хранит переменная ‘all_numbers’ будут иметь примерно такую структуру:

Для того что бы эти значения корректно отобразились в шаблоне — мы должны изменить файл ‘generator/templates/index.html’ используя следующие значения:

Как и на примере выше, в тегах Django часто используется конструкция, где вы объявляете начало и конец блока в отличие от обычного Python, где это делается с помощью отступов.

После нескольких обновлений страницы мы увидим следующий результат:

Работа с панелью администрирования

Django уже содержит небольшую панель администрирования, но мы так же можем ее расширить используя существующие классы и создавая новые.

Добавим возможность, с помощью которой мы сможем изменить одно из чисел сгенерированных ранее, добавить новое или удалить старое.

Первое что нужно сделать — это завести пользователя следующим путем:

Запустив сервер вы сможете зайти в панель администрирования по следующему пути:

Так как мы еще не добавили возможность редактирования чисел — в панели администрирования вы увидите только возможность создания групп и пользователей Django.

Для расширения панели администрирования нужно отредактировать файл ‘admin.py’:

В этом файле мы импортируем существующую модель ‘Numbers’ из файла ‘models.py’ и регистрируем следующим способом:

После сохранения файла и запуска сервера в панели администрирования добавится следующая строчка:

Если вам нужны понятные названия в панели администрирования, то вы можете добавить в файл models.py следующую строку:

После этого панель с числами у вас будет отображаться корректно:

Разделы, в которых рассматривались ‘urls.py’, ‘models.py’ и ‘views.py’ объединяют в одну аббревиатуру MVT (movel-view-template). Логика работы Django будет так же понятна, если взглянуть на картинку:

Картинки и другие статические файлы

Django не предназначен для передачи статических файлов (css, js, картинки и другие файлы), которые могут передаваться пользователю без изменения. Такой обработкой, обычно, занимаются веб сервера в виде Nginx или Apache. Картинка примерно описывающая процесс такой работы:

В рамках разработки приложения вы можете добавить такую возможность для Django изменив файл ‘app/settings.py’ следующим образом:

BASE_DIR — это переменная, которая была автоматически объявлена раньше в этом же файле и содержит путь до проекта.

А в файл ‘app/urls.py’ добавить следующую конструкцию:

settings.DEBUG — это переменная в файле ‘settings.py’. Если значение этой переменной True — у вас будут выводиться ошибки на сайте поясняющие в чем может быть неисправность. Если проект уже прошел стадию разработки и его видят пользователи — это значение должно быть False т.к. вашими ошибками могут воспользоваться злоумышленники.

Теперь, вы можете создать папки ‘media’ и ‘static’:

И выводить на сайт эти файлы следующим путем:

Читайте также:  Symlink folders in linux
Оцените статью