Django install: How to install Django | Django documentation
Урок 1 / Установка Django / Блог на Django 2.0 ~ PythonRu
Если Django уже установлен, можете пропустить этот раздел и переходить к части «Создание первого проекта». Django — это пакет Python, поэтому он может быть установлен в любой среде Python. Вот как установить фреймворк для локальной разработки.
Для Django 2.0 обязательны Python 3.4 или старше. Дальше будет использоваться Python 3.6.5. Для Linux или macOS, то Python, вероятно уже установлен. Если Windows — то инструкция по установке здесь.
Проверить установлен ли Python на компьютере можно, введя python
в командной строке. Если в ответ отобразится что-то подобное, то Python установлен:
Python 3.7.3 (default, Mar 27 2019, 17:13:21)
[MSC v.1915 64 bit (AMD64)] :: Anaconda custom (64-bit) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Если он не установлен или установлена версия Python 3.4 или младше, то нужно перейти в раздел “Скачать и установить Python”, найти руководство под свою OS и следовать инструкциям.
Для Python 3 не нужна база данных. Эта версия Python поставляется со встроенной базой данных SQLite. Это облегченная база данных, которая подходит для разработки на Django. Если же нужно будет разворачивать приложение в производственной среде, то понадобится более продвинутое решение: PostgreSQL, MySQL или Oracle. Больше узнать о том, как заставить базу данных работать с Django, можно по этой ссылке: https://docs.djangoproject.com/en/2.0/topics/install/#database-installation.
Создание виртуальной среды Python
Рекомендуется использовать virtualenv
для создания виртуальной среды Python так, чтобы можно было спокойно использовать разные версии пакетов для разных проектов. Это практичнее, чем устанавливать пакеты в Python напрямую в систему. Еще одно преимущество virtualenv
— для установки пакетов Python не нужны права администратора. Запустите следующую команду в командной строке для установки virtualenv
:
pip install virtualenv
После установки virtualenv
, создайте виртуальную среду с помощью следующей команды:
virtualenv my_env
Это создаст папку my_env
вместе со средой Python. Любые библиотеки Python, установленные с активированной виртуальной средой Python, будут установлены в папку my_env/lib/python3.7/site-packages
.
Если в системе была предустановлена Python 2.X, а вы установили Python 3.X, то нужно указать
virtualenv
, чтобы он работал с последней версией.
Можно указать путь, по которому установлен Python 3 и использовать его для создания виртуальной среды с помощью следующих команд:
$ which python3 /Library/Frameworks/Python.framework/Versions/3.7/bin/python3
$ virtualenv my_env -p
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
Подписывайтесь на телеграм каналы
Используйте следующую команду для активации виртуальной среды:
source my_env/bin/activate
Командная строка будет включать название активной виртуальной среды в скобках:
(my_env) username:~$
Отключить виртуальную среду можно с помощью команды deactivate
.
Больше о virtualenv
можно узнать по ссылке https://virtualenv.pypa.io/en/latest/.
Поверх virtualenv
можно также использовать virtualenvwrapper
. Этот инструмент предоставляет оболочки, с помощью которых проще создавать и управлять виртуальной средой. Загрузить его можно здесь: https://virtualenvwrapper.readthedocs.io/en/latest/.
Установка Django с помощью pip
Система управления пакетами pip
— рекомендуемый способ установки Django. В Python 3.6+ она предустановлена, а инструкции для установки можно найти по ссылке https://pythonru.com/baza-znanij/ustanovka-pip-dlja-python-i-bazovye-komandy.
Используйте следующую команду в оболочке, чтобы установить Django с помощью pip:
pip install Django==2.0.5
Django установится в папку Python под названием site-packages/
активной виртуальной среды.
Теперь нужно проверить, успешно ли прошла установка. Для этого в командной строке необходимо ввести python
, импортировать Django и проверить его версию следующим образом:
>>> import django
>>> django.get_version()
'2.0.5'
Если вывод такой, как вверху, значит Django был успешно установлен на компьютере:
Django можно установить и другими способами. Полный гайд по установке можно найти здесь: https://docs.djangoproject.com/en/2.0/topics/install/.
Как установить Django — Документация Django 3.0
Этот документ призван проинструктировать вас о том, как получить и запустить Django.
Установка Apache и mod_wsgi
¶
Если вы просто хотите поэкспериментировать с Django, пропустите этот раздел и перейдите к следующему; Django включает в себя легковесный web-сервер, предназначенный для тестирования, поэтому вы вправе не устанавливать Apache до тех пор, пока ваш проект не будет готов для развёртывания на «боевом»-сервере.
If you want to use Django on a production site, use Apache with
mod_wsgi. mod_wsgi operates in one of two modes: embedded
mode or daemon mode. In embedded mode, mod_wsgi is similar to
mod_perl – it embeds Python within Apache and loads Python code into
memory when the server starts. Code stays in memory throughout the
life of an Apache process, which leads to significant performance
gains over other server arrangements. In daemon mode, mod_wsgi spawns
an independent daemon process that handles requests. The daemon
process can run as a different user than the Web server, possibly
leading to improved security. The daemon process can be restarted
without restarting the entire Apache Web server, possibly making
refreshing your codebase more seamless. Consult the mod_wsgi
documentation to determine which mode is right for your setup. Make
sure you have Apache installed with the mod_wsgi module activated.
Django will work with any version of Apache that supports mod_wsgi.
См. Использование Django и mod_wsgi для получения информации о настройке mod_wsgi сразу после того, как он будет установлен.
Если по какой-либо причине вы не можете использовать mod_wsgi, не волнуйтесь: Django поддерживает множество других вариантов развёртывания. Один из них – uWSGI; он отлично работает с nginx . Дополнительно Django следует WSGI спецификации (PEP 3333), которая позволяет ему работать на различных серверных платформах.
Создание рабочей базы данных¶
If you plan to use Django’s database API functionality, you’ll need to make
sure a database server is running. Django supports many different database
servers and is officially supported with PostgreSQL, MariaDB, MySQL, Oracle
and SQLite.
If you are developing a small project or something you don’t plan to deploy in
a production environment, SQLite is generally the best option as it doesn’t
require running a separate server. However, SQLite has many differences from
other databases, so if you are working on something substantial, it’s
recommended to develop with the same database that you plan on using in
production.
В дополнение к официально поддерживаемым базам данных есть бэкэнды, поставляемые третьими сторонами, которые позволяют использовать другие БД с Django.
В дополнение к установке необходимой БД вы также должны убедиться, что вами выбран и установлен соответствующий модуль Python.
- При использовании PostgreSQL вам понадобится пакет psycopg2. Вы можете обратиться к заметкам о PostgreSQL для получения дальнейших инструкций, специфичных для этой БД.
- If you’re using MySQL or MariaDB, you’ll need a DB API driver like
mysqlclient
. See notes for the MySQL
backend for details. - Если вы используете SQLite, вам следует прочитать про особенности использования SQLite.
- При использовании Oracle вам понадобится копия cx_Oracle, но, пожалуйста, обязательно ознакомьтесь с заметками для Oracle , которая содержит информацию о поддерживаемых версиях Oracle и
cx_Oracle
. - При использовании неофициальных бэкендов от сторонних разработчиков смотрите соответствующую документацию о дополнительных требованиях.
If you plan to use Django’s manage.py migrate
command to automatically
create database tables for your models (after first installing Django and
creating a project), you’ll need to ensure that Django has permission to create
and alter tables in the database you’re using; if you plan to manually create
the tables, you can grant Django SELECT
, INSERT
, UPDATE
and
DELETE
permissions. After creating a database user with these permissions,
you’ll specify the details in your project’s settings file, see
DATABASES
for details.
Если вы используете среду тестирования Django для проверки запросов к базе данных, Django понадобится разрешение на создание тестовой БД.
Установка Django¶
Инструкции по установке несколько различаются в зависимости от того, каким способом вы устанавливаете пакет: установка для конкретного дистрибутива, загрузка последней официальной версии или получение текущей разрабатываемой версии.
Установка официальной версии с помощью pip
¶
Это рекомендуемый способ установки Django.
Установите pip. Самым простым способом сделать это является использование автономного установщика pip. Если ваш дистрибутив уже включает установленную версию
pip
, возможно, вам потребуется обновить её до более свежей. (Если версия устарела, вы сразу поймёте это, поскольку установка не будет работать.)Взгляните на virtualenv и virtualenvwrapper. Эти программы предоставляют изолированное окружение Python, что намного более практично, чем установка общесистемных пакетов. Такой подход также позволяет провести установку без административных прав. Раздел о разработке Django описывает как создать виртуальное окружение
After you’ve created and activated a virtual environment, enter the command:
Установка пакета для конкретного дистрибутива¶
Check the distribution specific notes to see if
your platform/distribution provides official Django packages/installers.
Distribution-provided packages will typically allow for automatic installation
of dependencies and supported upgrade paths; however, these packages will rarely
contain the latest release of Django.
Установка разрабатываемой версии¶
Следим за разработкой Django
Если вы приняли решение использовать текущую разрабатываемую версию Django, вам нужно следить за информацией о выпуске новых исправлений на the development timeline. Это поможет вам оставаться в курсе происходящих изменений , таких как включение новой функциональности. Для получения изменений вы должны будете обновить вашу копию Django. (Для стабильных релизов, все необходимые изменения описаны в примечаниях к выпуску.)
Если вы хотите обновить Django до разрабатываемой версии, чтобы иметь возможность использовать последние, возможно, нестабильные изменения и улучшения, следуйте этой инструкции:
Убедитесь, что у вас установлен Git и вы можете запустить его из командной оболочки. (Введите
git help
в командной оболочке, чтобы проверить это.)Склонируйте разрабатываемую ветку Django вот так:
Эта команда создаст каталог
django
в вашей текущей директории.Убедитесь, что интерпретатор Python может загрузить код Django. Самый удобный способ сделать это – использовать virtualenv, virtualenvwrapper и pip. Раздел о разработке Django описывает как создать виртуальное окружение.
После того, как вы создали и активировали виртуальное окружение, выполните в консоли:
Это сделает код Django импортируемым, а также сделает доступным запуск
django-admin.py
. Иначе говоря, всё готово!
When you want to update your copy of the Django source code, run the command
git pull
from within the django
directory. When you do this, Git will
download any changes.
Установка и настройка Джанго через pipenv
В данной статье будет описан процесс правильной настройки сервера для работы с Django проектами. Начнем с обзора командной строки и способов установки последних версий Django (3.0) и Python 3.8. Затем перейдем к разбору виртуальных окружений, git и особенностям работы в текстовом редакторе. В результате вы будете готовы к созданию и модификации новых проектов Django за пару нажатий клавиш.
Содержание статьи
Командная строка является мощным инструментом, который позволяет выполнять все операции через текст. Разработчики используют ее повсеместно.
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по 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.
Заметьте, что наше текущее местоположение, то есть ~/Desktop
, в командной строке было автоматически добавлено перед знаком $
. Для подтверждения верности отображаемой локации, можно использовать pwd
. Она выведет адрес текущей директории.
~/Desktop $ pwd
/home/wsv/Desktop
| ~/Desktop $ pwd /home/wsv/Desktop |
На Ubuntu полученная строчка будет значить, что сейчас работает пользователь wsv
, который использует данный аккаунт на рабочем столе desktop
.
Теперь создадим новую директорию при помощи mkdir
, задействуем cd
, после чего создадим новый файл index.html
, используя команду touch
. Стоит отметить, что, к сожалению, в Windows нельзя использовать команду touch
. Если дается инструкция к созданию нового файла, делайте это в выбранном текстовом редакторе.
~/Desktop $ mkdir new_dir && cd new_dir
~/Desktop/new_dir $ touch index.html
| ~/Desktop $ mkdir new_dir && cd new_dir ~/Desktop/new_dir $ touch index.html |
Теперь используйте ls
для отображения списка всех файлов текущей директории. Как видите, здесь только что созданный index.html
.
~/Desktop/new_dir $ ls
index.html
| ~/Desktop/new_dir $ ls index.html |
На финальном этапе вернемся в директорию Desktop, для чего используем команду cd ..
и затем проверим верность локации с pwd
.
~/Desktop/new_dir $ cd ..
~/Desktop $ pwd
/home/wsv/Desktop
| ~/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. Если у вас любая другая операционная система, то команда та же.
$ python3 -m pip install pipenv
| $ python3 -m pip install pipenv |
Установка Django через pipenv
Для того чтобы оценить Pipenv
в действии, создадим новую директорию и установим Django. Первым делом переместимся на рабочий стол Desktop. Там будет создана новая директория django
, куда нам нужно будет попасть при помощи команды cd
.
$ cd ~/Desktop
$ mkdir django
$ cd django
| $ cd ~/Desktop $ mkdir django $ cd django |
Теперь используем Pipenv для инсталляции Django.
$ pipenv install django==3.0
| $ pipenv install django==3.0 |
Если загляните внутрь нашей папки, то увидите, что в ней появилось два новых файла: Pipfile
и Pipfile.lock
. Теперь у нас есть вся информация, необходимая для создания нового виртуального окружения, однако пока ничего не активировано. Исправим положение через pipenv shell
.
При работе на Ubuntu вы увидите, что название текущей директории в командной строке взято в скобки. Это значит, что виртуальное окружение активировано. Будучи внутри папки django
, перед знаком $
командной строки мы увидим (django)
.
Стоит иметь в виду, что из-за бага в системе Windows, сейчас нет возможности получить визуальное подтверждение об активации виртуального окружения. Однако в следующей секции можно запустить django-admin startproject
— тогда станет ясно, что виртуальное окружение Django установлено должным образом.
Все работает! Теперь создаем новый проект Django под названием test_project
при помощи следующей команды. Не забудьте в конце поставить точку.
(django) $ django-admin startproject test_project .
| (django) $ django-admin startproject test_project . |
Немного остановимся на причине использования точки (.) в предыдущей команде. Если вы просто запустите django-admin startproject test_project
то Django по умолчанию создаст следующую структуру:
Структура
└── test_project
├── manage.py
└── test_project
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
| └── 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 .
с точкой на конце. Это нужно для установки в данную конкретную папку — на сей раз результат будет таков:
Структура
├── manage.py
└── test_project
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
| ├── manage.py └── test_project ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py |
Стоит отметить, что по сути особого значения не имеет, будет ли на конце команды точка или нет, однако но некоторые разработчики предпочитают ее включать.
По мере изучения Django вы столкнетесь с ситуациями и вопросами, на которые нельзя ответить однозначно — помогает только практика. У Django отличная кастомизация, которая считается одной из его сильных сторон. Поначалу гибкость настройки может показаться сложной, но в подобающем большинстве случаев трудность кажущаяся. В общем и целом поиск собственных путей решения неоднозначных задач, а также выработка собственных привычек программиста станет отличным опытом.
Осталось убедиться, что все работает. Для этого запустим локальный веб-сервер Django.
(django) $ python manage.py runserver
| (django) $ python manage.py runserver |
Мы получим такой ответ:
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.
| 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
.
Вновь активировать виртуальное окружение можно в любое время. — для этого используется команда pipenv shell
в терминале.
Если вы сталкиваетесь с виртуальными окружениями впервые, сейчас они могут показаться немного запутанными, но не беспокойтесь — по ходу изучения все прояснится. Базовый принцип строится на установке новых пакетов через pipenv
, их активации с pipenv shell
и выхода через exit
по мере завершения процесса.
Будет не лишним отметить, что через командную строку за раз можно активировать только одно виртуальное окружение. Мы будем создавать новое виртуальное окружение для каждого проекта. По этой причине перед созданием нового проекта не забывайте выходить из текущего окружения через exit
или открывайте другие вкладки для новых проектов.
Установка и настройка Git для сайта на Django
Git является неотъемлемой частью разработки современного программного обеспечения. Это система управления версиями, которая отслеживает и фиксирует изменения в вашем проекте. Git позволяет без лишних проблем вести сотрудничество с другими разработчиками, быть в курсе изменений в проекте и возвращаться к предыдущим версиям написанного кода даже в тех случаях, когда было удалено нечто крайне важное.
Для установки git в Ubuntu, можете выполнить следующею команду:
Для систем Windows требуется скачать git со страницы Git for Windows. Отметьте кнопку «Download» и следуйте инструкциям установки.
После установки необходимо выполнить настройку системы, указав имя и адрес электронной почты, которые будет связаны со всеми git-коммитами. В командной строке наберите следующие две строчки, поменяв параметры имени и электронной почты на свои.
$ git config —global user.name «Ваше имя»
$ git config —global user.email «[email protected]»
| $ git config —global user.name «Ваше имя» $ git config —global user.email «[email protected]» |
Изменить данные конфигурации можно в любое время, для чего нужно выполнить все те же команды, но с новыми данными.
Редакторы кода при работе с Django
Напоследок рассмотрим принципы работы с текстовым редактором. В командной строке мы выполняем команды для существующих программ, однако сам код пишется в текстовом редакторе. Компьютеру не важно, какой редактор вы будете использовать, ведь где код ни напиши, его структура будет одной и той же. Однако, текстовый редактор с удобным визуальным интерфейсом и обширным набором инструментов может значительно облегчить процесс разработки.
Многие разработчики предпочитают Vim или Emacs. Данные редакторы могут работать в чистых текстовых режимах, оба на рынке вот уже на протяжении более чем десяти лет и сумели собрать огромное число поклонников. Тем не менее, новичкам начинать работу с Vim или Emacs будет сложновато — потребуется запомнить множество комбинаций клавиш и приспособиться к интерфейсу.
Современные текстовые редакторы совмещают мощный функционал и приятный визуальный интерфейс. Мои текущим фаворитом является Visual Studio Code — распространяется бесплатно, легко устанавливается и пользуется большой популярностью. Если у вас еще нет редактора, можете скачать и установить Visual Studio Code прямо сейчас.
Заключение
Многие не любят настраивать локальную среду разработки, и, к счастью для них, это нужно сделать всего раз. На текущий момент мы установили последние версии Python и git, а также познакомились с принципом работы виртуальных окружений. Для создания первого приложения Django все готово.
Django | Установка и настройка
Установка и настройка Django
Последнее обновление: 14.02.2018
Перед началом работы с Django нам естественно надо установить интерпретатор Python. Подоробнее об этом можно почитать
здесь.
Существуют разные способы установки Django. Рассмотрим рекомендуемый способ.
Для установки нам потребуется пакетный менеджер pip. Менеджер pip позволяет загружать пакеты и управлять ими.
Нередко, при установке python также устанавливается и менеджер pip. В этом случае мы можем проверить версию менеджера, выполнив в командной строке/терминале следующую команду:
Но если pip не установлен, то мы увидим ошибку типа "pip" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
.
В этом случае нам надо установить pip.
Для этого нам надо загрузить скрипт https://bootstrap.pypa.io/get-pip.py.
Просто перейдем на эту страницу и сохраним все ее содержимое в новый файл get-pip.py. Допустим, данный файл будет сохранен в папку C:\python.
Перейдем в папку, где сохранен файл и выполним в командной строке/консоли следующую команду:
Если pip ранее уже был установлен, то можно его обновить с помощью команды
pip install --upgrade pip
Установка виртуальной среды
Виртуальная среда или virtualenv не является неотъемлимой частью разработки на Django. Однако ее рекомендуется использовать, так как она
позволяет создать множество виртуальных сред Python на одной операционной системе. Благодаря виртуальной среде приложение может запускаться независимо от
других приложений на Python.
В принципе можно запускать приложения на Django и без виртуальной среды. В этом случае все пакеты Django устанавливаются глобально.
Однако что если после создания первого приложения выйдет новая версия Django? Если мы захотим использовать для второго проекта новую версию Django,
то из-за глобальной установки пакетов придется обновлять первый проект, который использует старую версию. Это потребует некоторой дополнительной работы по обновлению, так как
не всегда соблюдается обратная совместимость между пакетами.
Если мы решим использовать для второго проекта старую версию, то мы лишиемся потенциальных преимуществ новой версии. И использование
вируальной среды как раз позволяет разграничить пакеты для каждого проекта.
Для работы с виртуальной средой вначале необходимо установить пакет virtualenv с помощью следующей команды
Теперь создадим вируальную среду. Вначале определим каталог для виртуальных сред, где будут располагаться все связанные файлы и папки.
Например, пусть это будет каталог C:\virtualenv.
Прежде всего перейдем в командной строке/терминале в этот каталог с помощью команды cd. Затем для создания виртуальной среды выполним следующую команду:
Команде virtualenv передается название среды, которая в данном случае будет называться «hello».
После этого в текущей папке будет создан подкаталог hello.
Активация виртуальной среды
Для использования виртуальную среду надо активировать. И каждый раз, когда мы будем работать с проектом Django, связанную с ним виртуальную среду
надо активировать. Например, активируем выше созданную среду, которая располагается в текущем каталоге в папке hello.
Если наша ОС — Windows, то в папке hello/Scripts/ мы можем найти файл activate.bat, который активирует виртуальную среду.
Поэтому для Windows активация виртуальной среды будет выглядеть таким образом:
hello\Scripts\activate.bat
Для Linux и MacOS активация будет производиться с помощью следующей команды:
source ~/.hello/bin/activate
После окончания работы с виртуальной средой мы можем ее деактивировать. Для этого в той же папке hello/Scripts/
мы можем найти файл deactivate.bat и таким же образом запустить его.
Установка Django
После активации виртуальной среды для установки Django выполним в консоли следующую команду
Она устанавливает последнюю версию Django.
Установка Django в Ubuntu 18.04
Django — это бесплатный веб-фреймворк с открытым исходным кодом, написанный на языке высокого уровня — Python, предназначенный для помощи разработчикам в быстром создании безопасных, масштабируемых и удобных в сопровождении веб-приложений.
Установка Django Ubuntu может быть выполнена двумя способами. Он может быть установлен непосредственно в операционной системе или в виртуальной среде Python с использованием команды pip. Пакет Django включен в официальные репозитории Ubuntu и может быть установлены с помощью менеджера пакетов apt. Это самый простой способ установить Django в Ubuntu 18.04, но он не такой гибкий, как установка с помощью pip. Кроме того, версия, включенная в репозитории, всегда отстает от последней версии Django.
Основное назначение виртуальных окружений Python — создание нескольких сред для различных проектов. Таким образом, вы можете получить несколько разных окружений Django на одном компьютере и устанавливать необходимую версию модуля для каждого проекта, не беспокоясь о том, что это повлияет на другие установки Django. Если вы устанавливаете Django в глобальную среду, вы можете установить только одну версию веб-фреймворка на свой компьютер.
Содержание статьи:
Установка Django в Ubuntu 18.04
Далее в статье приведена пошаговая инструкция по установке Django в виртуальном окружении Python на Ubuntu 18.04. Сначала рассмотрим установку Python 3 и виртуальную среду venv. Ubuntu 18.04 поставляется с Python 3.6 по умолчанию. Вы можете убедиться, что Python 3 установлен в вашей системе, набрав:
python3 -V
Вывод должен выглядеть так:
Python 3.6.6
Начиная с Python 3.6, рекомендуемый способ создания виртуального окружения — использовать модуль venv. Чтобы установить пакет python3-venv выполните следующую команду:
sudo apt install python3-venv
После установки модуля нужно создать виртуальную среду для нашего приложения Django. Перейдите в каталог, где вы хотите хранить виртуальные окружения Python 3. Это может быть ваш домашний каталог или любой другой каталог, где у вашего пользователя есть права на чтение и запись.
Создайте новый каталог для вашего приложения Django и перейдите в него:
mkdir my_django_app
cd my_django_app
Находясь в созданном каталоге, выполните следующую команду, чтобы создать новую виртуальную среду:
python3 -m venv venv
Приведенная выше команда создает каталог с именем venv, который содержит копию двоичного файла Python, менеджера пакетов Pip, стандартной библиотеки Python и других вспомогательных файлов. Можно использовать любое имя для виртуальной среды. Чтобы начать использовать эту виртуальную среду, вам нужно активировать ее, запустив скрипт активации:
source venv/bin/activate
После активации каталог bin виртуальной среды будет добавлен в начало переменной $PATH. Кроме того, приглашение вашей оболочки изменится, и будет отображать имя виртуальной среды, которую вы используете в данный момент. В нашем случае это venv.
Теперь, когда виртуальная среда активирована, вы можете использовать команду менеджера пакетов pip для установки Django:
pip install django
В виртуальной среде можно использовать команду pip вместо pip3 и python вместо python3. Чтобы убедиться, что установка пошла успешно, используйте следующую команду, которая выведет версию Django:
python -m django --version
На момент написания этой статьи последняя официальная версия Django была 2.1.2. Ваша версия Django может отличаться от версии, показанной здесь.
Создание проекта Django
Для создания нового проекта Django с именем mydjangoapp используйте утилиту командной строки django-admin:
django-admin startproject mydjangoapp
Данная команда создает директорию mydjangoapp в вашем текущем каталоге.
tree mydjangoapp/
Внутри этого каталога находится основной скрипт для управления проектами с именем manage.py и каталог, включающий конфигурацию базы данных, а также настройки Django и приложения. Давайте перенесем базу данных и создадим администратора. Начните с перехода в каталог mydjangoapp:
cd mydjangoapp
По умолчанию Django использует базу данных SQLite. Вы можете использовать другие базы данных, например: PostgreSQL, MariaDB, Oracle или MySQL Database. Выполните следующую команду для переноса базы данных:
python manage.py migrate
После переноса базы данных создайте пользователя с правами администратора, чтобы вы могли использовать интерфейс администратора Django:
python manage.py createsuperuser
Команда запросит у вас имя пользователя, адрес электронной почты и пароль.
Тестирование Django
Запустите веб-сервер разработки с помощью сценария manage.py, за которым следует опция runserver:
python manage.py runserver
Вы увидите такие результаты работы команды:
Если вы установили Django на виртуальную машину и хотите получить доступ к серверу разработки Django, вам нужно отредактировать файл settings.py и добавить IP-адрес сервера в список ALLOWED_HOSTS.
Откройте веб-браузер и введите в адресной строке http://127.0.0.1:8000, и вы увидите страницу Django по умолчанию:
Чтобы получить доступ к интерфейсу администратора Django, нужно добавить / admin / в конце URL (http://127.0.0.1:8000/admin/). После этого откроется экран входа администратора:
Чтобы попасть на страницу администрирования Django введите имя пользователя и пароль:
Чтобы остановить сервер, введите CTRL-C в своем терминале.
Отключение виртуального окружения
По окончании работы нужно деактивировать виртуальную среду Python, для этого наберите команду deactivate, и вы вернетесь к своей обычной оболочке.
deactivate
Заключение
Вы узнали, как создать виртуальную среду Python и установить Django Ubuntu 18.04. Чтобы создать дополнительные среды разработки Django, повторите шаги, описанные в этом руководстве. Если вы новичок в Django, посетите страницу документации Django и узнайте, как разработать свое первое приложение Django.
Инструкция по быстрой установке | Документация Django 3.1
Прежде чем вы сможете использовать Django, вам нужно будет установить его. У нас есть полное руководство по установке, которое охватывает все возможности; это руководство поможет вам выполнить минимальную установку, которая будет работать, пока вы будете проходить через введение.
Установка Python¶
Так как фреймворк, написанн на языке Python, то Django, соответственное, требует наличия Python. Подробности смотрите в What Python version can I use with Django?. Python включает в себя простую базу данных SQLite, поэтому вам пока не нужно устанавливать и настраивать какую-либо другую базу данных.
Скачайте последнюю версию Python по ссылке https://www.python.org/downloads/ или установите с помощью менеджера пакетов своей операционной системы.
Вы можете проверить, установлен ли Python, набрав команду python
в терминале. Вы должны увидеть что-то вроде:
Python 3.x.y [GCC 4.x] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
Установка базы данных¶
Этот шаг необходим, только если вы хотите работать с «большой» базой данных, такой как PostgreSQL, MariaDB, MySQL или Oracle. Чтобы установить такую базу данных, обратитесь к информация об установке базы данных.
Установка Django¶
У вас есть три варианта установки Django:
Всегда обращайтесь к документации, которая соответствует используемой версии Django!
Если вы выполните один из первых двух шагов, обратите внимание на части документации, помеченные новое в версии для разработчиков. Эта фраза помечает функции, которые доступны только в разрабатываемых версиях Django, и, скорее всего, они не будут работать с официальным выпуском.
Проверка¶
Чтобы убедиться, что Django доступен для Python, напишите в коммандной строке python
. После этого в консоли Python попробуйте импортировать Django:
>>> import django >>> print(django.get_version()) 3.1
У вас может быть установлена другая версия Django.
Создание приложения в Django для начинающих
В данном уроке мы создадим простой сайт на Django, который будет выводить надпись «Hello World» на домашнюю страницу. Это классический старт изучения нового языка программирования или фреймворка. Мы также впервые поработаем с git и разместим код на GitHub.
Содержание статьи
Если возникнут сложности, можете ознакомиться с полным набором исходных кодов примеров текущей темы на хранилище GitHub.
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
Начальная настройка Django-приложения
Первым делом переместимся в новую директорию. Например, можно создать директорию helloworld
на рабочем столе, используя следующие инструкции.
$ cd ~/Desktop
$ mkdir helloworld && cd helloworld
| $ cd ~/Desktop $ mkdir helloworld && cd helloworld |
Убедитесь, что в настоящий момент вы не находитесь ни в каком существующем виртуальном окружении. Здесь подсказкой станут скобки ()
перед знаком доллара ($
). Для выхода из окружения наберите exit
, после чего нажмите клавишу Enter
. Пропавшие скобки — признак деактивации виртуального окружения.
Для создания нового виртуального окружения мы используем pipenv
, затем установим Django и затем активируем его.
$ pipenv install django==3.0.*
$ pipenv shell
| $ pipenv install django==3.0.* $ pipenv shell |
Если у вас Ubuntu, то увидите подтверждение изменений прямо сейчас — (helloworld)
. Название директории теперь взято в скобки и находится в строке перед командой. К сожалению, пользователи Windows на данном этапе не смогут увидеть никаких подтверждений активации.
Создадим новый проект Django под названием helloworld_project
. В конце команды поставим точку (.
) — тогда проект будет установлен в текущую папку.
(helloworld) $ django-admin startproject helloworld_project .
| (helloworld) $ django-admin startproject helloworld_project . |
Используйте команду tree
и посмотрите на структуру созданного проекта Django. Если tree
не сработала, наберите в командной строке: sudo apt install tree
.
(helloworld) $ tree
.
├── Pipfile
├── Pipfile.lock
├── helloworld_project
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
1 directory, 7 files
| (helloworld) $ tree . ├── Pipfile ├── Pipfile.lock ├── helloworld_project │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py
1 directory, 7 files |
Файл settings.py
контролирует настройки проекта, urls.py
сообщает Django, какие страницы создать в ответ на запрос браузера или URL-адреса, а wsgi.py
, что расшифровывается как Web Server Gateway Interface, помогает Django управлять конечными веб-страницами. Последний файл, manage.py
, используется для выполнения различных команд Django. Это может быть запуск локального веб-сервера или создание нового приложения.
Django поставляется со встроенным локальным веб-сервером, который запускается командой runserver
.
(helloworld) $ python manage.py runserver
| (helloworld) $ python manage.py runserver |
При переходе по адресу http://127.0.0.1:8000/
вам откроется следующая страница:
Приветственная страница Django
Обратите внимание, что в полном результате вывода будет указана дополнительная информация, среди которой будет предупреждение о непримененных миграциях 17 unapplied migrations
.
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 — 13:13:40
Django version 3.0.6, using settings ‘helloworld_project.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
| 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 — 13:13:40 Django version 3.0.6, using settings ‘helloworld_project.settings’ Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. |
Технически, данное предупреждение на текущем этапе ни на что не влияет. Django сообщает о том, что мы еще не «мигрировали» или не конфигурировали исходную базу данных. Здесь база данных использоваться не будет, поэтому предупреждение не повлияет на конечный результат.
Тем не менее, чтобы предупреждение не мозолило глаза, мы можем удалить его. Для этого нужно остановить локальный сервер комбинацией CTRL+C
, а затем выполнить команду python manage.py migrate
.
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial… OK
Applying auth.0001_initial… OK
Applying admin.0001_initial… OK
Applying admin.0002_logentry_remove_auto_add… OK
Applying admin.0003_logentry_add_action_flag_choices… OK
Applying contenttypes.0002_remove_content_type_name… OK
Applying auth.0002_alter_permission_name_max_length… OK
Applying auth.0003_alter_user_email_max_length… OK
Applying auth.0004_alter_user_username_opts… OK
Applying auth.0005_alter_user_last_login_null… OK
Applying auth.0006_require_contenttypes_0002… OK
Applying auth.0007_alter_validators_add_error_messages… OK
Applying auth.0008_alter_user_username_max_length… OK
Applying auth.0009_alter_user_last_name_max_length… OK
Applying auth.0010_alter_group_name_max_length… OK
Applying auth.0011_update_proxy_permissions… OK
Applying sessions.0001_initial… OK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $ python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial… OK Applying auth.0001_initial… OK Applying admin.0001_initial… OK Applying admin.0002_logentry_remove_auto_add… OK Applying admin.0003_logentry_add_action_flag_choices… OK Applying contenttypes.0002_remove_content_type_name… OK Applying auth.0002_alter_permission_name_max_length… OK Applying auth.0003_alter_user_email_max_length… OK Applying auth.0004_alter_user_username_opts… OK Applying auth.0005_alter_user_last_login_null… OK Applying auth.0006_require_contenttypes_0002… OK Applying auth.0007_alter_validators_add_error_messages… OK Applying auth.0008_alter_user_username_max_length… OK Applying auth.0009_alter_user_last_name_max_length… OK Applying auth.0010_alter_group_name_max_length… OK Applying auth.0011_update_proxy_permissions… OK Applying sessions.0001_initial… OK |
Здесь Django осуществил миграцию встроенных приложений. Теперь при повторном выполнении python manage.py runserver
командная строка выведет следующий чистый результат:
Watching for file changes with StatReloader
Performing system checks…
System check identified no issues (0 silenced).
May 05, 2020 — 13:15:46
Django version 3.0.6, using settings ‘helloworld_project.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
| Watching for file changes with StatReloader Performing system checks…
System check identified no issues (0 silenced). May 05, 2020 — 13:15:46 Django version 3.0.6, using settings ‘helloworld_project.settings’ Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. |
Создание приложения на Django 3
Для сохранения аккуратности и читабельности кода Django использует концепт проектов и приложений. Приложения внутри проекта влияют на производительность главного веб-приложения. Команда для создания нового приложения Django — startproject
.
У действующего сайта Django для онлайн-магазина может быть целый набор приложений. К примеру, одно нужно для аутентификации, другое для оплаты, а третье для оптимизации отображения деталей продукции. Каждое приложение сфокусировано на обеспечении должного функционирования изолированной области, однако все три находятся внутри одного и того проекта высшего уровня.
То, как и когда распределить функционал по приложениям, является субъективным понятием. Однако, в общем и целом у каждого приложения должна быть ясная функция.
Пришло время для создания первого приложения. Выйдите из командной строки при помощи CTRL+C
. Затем наберите команду startapp
с последующим названием приложения. В нашем случае это pages
.
(helloworld) $ python manage.py startapp pages
| (helloworld) $ python manage.py startapp pages |
Если вы еще раз посмотрите на структуру директории при помощи команды tree
, то заметите, что Django создал новую директорию pages
, в которой расположены следующие файлы:
(helloworld) $ tree
├── pages
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
| (helloworld) $ tree ├── pages │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py |
Посмотрим, за что отвечает каждый файл внутри папки pages
:
admin.py
является файлом конфигурации для встроенного приложения панели администратора Django;apps.py
является файлом конфигурации для самого приложения;migrations
отслеживает все изменения в файлеmodels.py
, поэтому наша база данных будет постоянно синхронизироваться сmodels.py
;models.py
определяет модели нашей базы данных, которые Django автоматически переводит в таблицы базы данных;tests.py
нужен для специфических тестов приложения;views.py
являет местом, где обрабатываются логические запросы/ответы нашего веб-приложения.
Хотя созданное приложение существует внутри проекта Django, сам Django пока об этом «не знает», и наша задача просветить его. Через текстовый редактор откройте файл settings.py
и найдите пункт INSTALLED_APPS
, под которым будут указаны шесть изначально встроенных приложений Django. Добавьте новое приложение pages
в самый низ.
# helloworld_project/settings.py
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘pages.apps.PagesConfig’, # новое приложение
]
| # helloworld_project/settings.py INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘pages.apps.PagesConfig’, # новое приложение ] |
Локальные приложения всегда добавляются в самый низ, так как Django задействует настройки INSTALLED_APPS
сверху вниз. Это значит, что сначала грузится внутреннее приложение admin
, затем auth
и так далее. Важно, чтобы главные приложения Django были доступны, ведь созданные нами приложения будут полагаться на их функционал.
Некоторым может стать интересно, зачем прописывать такую длинную строчку
pages.apps.PagesConfig
, почему в список нельзя просто добавить название приложенияpages
?
Причина в том, что Django с каждым новым приложением создает файл apps.py
, куда можно добавить дополнительную информацию, например, с фреймворка Signals, техника которого считается продвинутой. Для стабильной работы нашего простого приложения должно хватить pages
, однако мы будем лишены дополнительных опций, поэтому внутри настроек INSTALLED_APPS
будет лучше всегда использовать полное имя приложения с конфигурацией.
Если все вышесказанное показалось вам несколько запутанным, не переживайте. Для привыкания к структуре проектов и приложений Django нужна практика. На протяжении всего курса будем создавать множество проектов и приложений, что помогут приспособиться к принципам работы Django.
URL, представления (Views), модели (Models) и шаблоны (Templates)
В Django для оптимальной работы одной страницы требуется как минимум три (чаще четыре) файла. Внутри приложения этими файлами являются urls.py
, views.py
, models.py
и HTML шаблон index.html
.
Работа в Django строится на взаимодействии упомянутых выше элементов, однако новичков такая система может легко запутать, поэтому будет лучше сперва разобраться с порядком HTTP запросов/ответов. При вводе определенного URL, например, https://python-scripts.com
, проект Django осуществляет попытку отыскать URL-паттерн, который бы соответствовал адресу домашней страницы. Данный URL-паттерн уточняет представление (view), которое определяет содержимое страницы (обычно на основании модели (model) базы данных) и в конечном итоге — шаблон (template) для стилей и базовой логики. Финальный результат отправляется пользователю назад в виде HTTP ответа.
Схему завершенного потока можно представить следующим образом:
Цикл работы Django запроса/ответа
URL -> View -> Model (обычно) -> Template
| URL -> View -> Model (обычно) -> Template |
Для страницы может понадобится три или четыре файла, но их количество может различаться из-за модели, которая не всегда нужна, и в данном случае трех файлов будет достаточно. Однако для целостности картины в большинстве примеров будет использовано четыре файла.
Главная идея заключена в том, что представления Django определяют, какое содержимое отображается на странице, в то время как URLConfs отвечает за то, куда данное содержимое будет направлено. Модель включает в себя содержимое базы данных, а шаблон предоставляет стили.
Когда пользователь запрашивает некую страницу, например, домашнюю страницу, файл urls.py использует регулярное выражение для назначения данного запроса для подходящей функции представления, которая затем возвращает верные данные. Иными словами, наше представление выведет текст «Hello, World» в то время, как url должен будет убедиться в том, что во время всех визитов пользователя на домашнюю страницу отображаемое представление является верным.
Давайте посмотрим, как все работает. Для начала обновим файл views.py
в приложении pages
:
# pages/views.py
from django.http import HttpResponse
def homePageView(request):
return HttpResponse(‘Hello, World!’)
| # pages/views.py from django.http import HttpResponse
def homePageView(request): return HttpResponse(‘Hello, World!’) |
По существу, здесь мы заявляем, что когда бы функция представления homePageView
ни была вызвана, ответом будет текст «Hello, World!». Говоря точнее, мы импортируем встроенный метод HttpResponse, и поэтому можем вернуть ответный объект пользователю. Мы создали функцию под названием homePageView
, которая принимает объект запроса request
и возвращает ответ response
в виде строки «Hello, World!»
Теперь нам нужно настроить все url
. Для этого в приложении pages
создается новый файл urls.py
.
(helloworld) $ touch pages/urls.py
| (helloworld) $ touch pages/urls.py |
Затем обновляем его при помощи следующего кода:
# pages/urls.py
from django.urls import path
from .views import homePageView
urlpatterns = [
path(», homePageView, name=’home’)
]
| # pages/urls.py from django.urls import path from .views import homePageView
urlpatterns = [ path(», homePageView, name=’home’) ] |
Верхняя строчка импортирует path
из Django для усиления нашего URL-паттерна, а следующая за ней строка импортирует представления. Обращаясь к файлу views.py
как .views
мы просим Django обследовать текущую директорию в поисках файла views.py.
У нашего URLpatterns
есть три составляющие:
- регулярное выражение Python для пустой строки
''
; - отсылка к представлению под названием
homePageView
; - опциональный именованный URL паттерн
'home'
.
Другими словами, если пользователь запрашивает домашнюю страницу, представленную пустой строкой ''
, тогда используется представление под названием homePageView
.
На данный момент мы почти все разобрали. Последним шагом станет обновление файла helloworld_project/urls.py
. Для одного проекта Django, в данном случае pages
, типично иметь сразу несколько приложений, и у каждого должен быть свой собственный URL.
# helloworld_project/urls.py
from django.contrib import admin
from django.urls import path, include # новое добавление
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(», include(‘pages.urls’)), # новое добавление
]
| # helloworld_project/urls.py from django.contrib import admin from django.urls import path, include # новое добавление
urlpatterns = [ path(‘admin/’, admin.site.urls), path(», include(‘pages.urls’)), # новое добавление ] |
На второй строке возле path
мы импортировали include
, а затем создали новый URL-паттерн для приложения pages
. Теперь любые визиты пользователя на домашнюю страницу вначале будут направлены к приложению pages
, а затем к набору представления homePageView
, что расположен в файле pages/urls.py
.
Необходимость сразу в двух различных файлах
urls.py
часто запутывает начинающих. Здесьhelloworld_project/urls.py
верхнего уровня рассматривается как шлюз для многобразных url паттернов, различных для каждого приложения.
Приложение «Hello World» в Django
Теперь у нас есть весь необходимый код. Для подтверждения того, что все работает должным образом, перезагрузим веб-сервер с Django:
(helloworld) $ python manage.py runserver
| (helloworld) $ python manage.py runserver |
Если вы обновите в браузере страницу http://127.0.0.1:8000/, на экране отобразится текст «Hello, World!»
Домашняя страница Hello world
Использование Git для загрузки кода на Github
Git является системой управления версиями. Сейчас мы ее используем. Первым шагом станет инициализация (или добавление) git в наше хранилище.
Теперь, если вы наберете git status
, то увидите список изменений с момента последнего коммита. Ввиду того, что текущий коммит является первым, список примет следующий вид.
(helloworld) $ git status
On branch master
No commits yet
Untracked files:
(use «git add <file>…» to include in what will be committed)
Pipfile
Pipfile.lock
db.sqlite3
helloworld_project/
manage.py
pages/
nothing added to commit but untracked files present (use «git add» to track)
| (helloworld) $ git status On branch master
No commits yet
Untracked files: (use «git add <file>…» to include in what will be committed)
Pipfile Pipfile.lock db.sqlite3 helloworld_project/ manage.py pages/
nothing added to commit but untracked files present (use «git add» to track) |
Далее мы добавим все изменения, используя команду add -A
, затем commit
для их подтверждения, а после этого применим (-m)
для описания изменений.
(helloworld) $ git add -A
(helloworld) $ git commit -m «initial commit»
| (helloworld) $ git add -A (helloworld) $ git commit -m «initial commit» |
Работа с GitHub при создании сайта на Django
Создание удаленного хранилища для кода каждого проекта является очень полезной привычкой. Таким образом у вас всегда будет копия данных. Это пригодится, если что-то случится с вашим компьютером, а также значительно облегчит процесс обсуждения деталей проекта с другими разработчиками.
На сегодняшний день двумя самыми популярными серверами для хостинга считаются GitHub и Bitbucket. Оба сайта предоставляют разработчикам бесплатные личные хранилища для кода. Занимаясь веб-разработкой, лучше использовать личные хранилища, а не публичные, чтобы случайно не разместить критично важную информацию вроде паролей онлайн.
Для использования GitHub необходимо зарегистрироваться и получить бесплатный аккаунт на домашней странице сайта. Затем вас попросят решить небольшой паззл — это требуется для отвода автоматических регистраций ботами.
Проверка GitHub
Затем требуется подтвердить бесплатную подписку, что является выбором по умолчанию. Нажмите на кнопку «Continue» в нижней части страницы.
Подписка GitHub
На третьем этапе вас попросят ответить на несколько вопросов для обозначения вашего уровня разработчика и причины работы с GitHub. Отметьте где нужно галочки или же пропустите данный пункт, выбрав «Skip this step» внизу страницы.
Настройка GitHub
На последней странице вас попросят подтвердить адрес электронной почты. Вам должно прийти письмо от GitHub, внутри будет ссылка, перейдя по которой вы вернетесь на GitHub, будучи зарегистрированным пользователем.
Создадим наше первое хранилище на https://github.com/new.
Новое хранилище на GitHub
Введите название хранилища hello-world
и отметьте его вид — в данном случае это «Private», а не «Public». Затем подтвердите действия, нажав кнопку «Create Repository» внизу страницы.
Ваше первое хранилище создано! Однако оно пока пустое. Пролистайте страницу ниже и найдите “…or push an existing repository from the command line”. Это то, что нам нужно.
Хранилище Hello, World на GitHub
Скопируйте текст под заголовком и вставьте его в командную строку. Я использовал имя пользователя stillriverpress
, следовательно вы вписываете свое имя — в противном случае команда не сработает. Данная операция синхронизирует локальную директорию на компьютере с удаленным хранилищем на GitHub.
(helloworld) $ git remote add origin
https://github.com/stillriverpress/hello-world.git
| (helloworld) $ git remote add origin https://github.com/stillriverpress/hello-world.git |
На последнем этапе нам нужно загрузить данные на GitHub при помощи команды push
.
(helloworld) $ git push -u origin master
| (helloworld) $ git push -u origin master |
Если все сработало верно, то, вернувшись на страницу GitHub и перезагрузив ее, вы увидите, что там появилась копия вашего кода.
Настройка SSH ключей для работы с Github
К сожалению, если вы начинающий разработчик и еще не настроили SSH ключи, то в ответ на предыдущую команду может выйти ошибка.
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
| ERROR: Repository not found. fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists. |
Появление данного загадочного сообщения говорит о том, что нам нужно настроить SSH ключи. Дело хоть и на один раз, но, по правде говоря, оно несколько хлопотно.
SSH является протоколом, который используется для подтверждения личных связей с удаленным сервером. Рассматривайте его как дополнительный слой защиты поверх системы логина/пароля. Процесс включает в себя генерацию уникальных ключей SSH и последующее хранение их на вашем компьютере, таким образом внешний доступ к ним будет только у GitHub.
Первым делом проверьте, есть ли у вас ключи SSH. У GitHub предусмотрен для этого специальный гид, который работает на Mac, Windows и Linux. Если у вас нет публичных и личных ключей, вам нужно будет сгенерировать их. У GitHub и для этого есть гид.
Теперь по завершении процесса генерирования ключей вы наверняка сможете успешно выполнить команду git push -u origin master
.
Не стоит расстраиваться, если разобраться с ключами SSH не выйдет с первого раза. У GitHub есть много материала, связанного с данной темой, так как на начальном этапе подобающее большинство пользователей сталкиваются с некоторыми сложностями. Если исправить ошибки на данном этапе никак не получается, оставьте пока ключи, вздремните, а затем, выспавшись, возвращайтесь к GitHub и ключам SSH. Хороший сон очень часто помогает разобраться с проблемами, это не шутка. Отдохнув, я зачастую справлялся с довольно сложными программами.
Небольшое видео на Youtube вам может помочь.
Успешно разобравшись с GitHub, двинемся дальше и выйдем и виртуального окружения при помощи команды exit
.
О деактивации виртуального окружения сообщит отсутствие скобок в командной строке.
Заключение
Поздравляю! Нам удалось разобрать много фундаментально важных концептов. Мы создали первое приложение Django и познакомились со структурой проектов/приложений Django. Мы также приступили к изучению представлений, url и внутреннего сервера Django. Мы также поработали с git, проследили за изменениями и разместили наш код в личном хранилище GitHub.
Как установить Django | Документация Django
Этот документ поможет вам начать работу с Django.
Установите Apache и mod_wsgi
¶
Если вы просто хотите поэкспериментировать с Django, переходите к следующему
раздел; Django включает легкий веб-сервер, который вы можете использовать для
тестирование, поэтому вам не нужно настраивать Apache, пока вы не будете готовы
развернуть Django в производственной среде.
Если вы хотите использовать Django на рабочем сайте, используйте Apache с
mod_wsgi.mod_wsgi работает в одном из двух режимов: встроенный
режим или режим демона. Во встроенном режиме mod_wsgi похож на
mod_perl — он встраивает Python в Apache и загружает код Python в
память при запуске сервера. Код остается в памяти на протяжении всего
жизнь процесса Apache, что приводит к значительной производительности
выигрывает по сравнению с другими серверами. В режиме демона появляется mod_wsgi
независимый процесс-демон, который обрабатывает запросы. Демон
процесс может запускаться от имени другого пользователя, чем веб-сервер, возможно
ведет к повышению безопасности.Процесс демона можно перезапустить
без перезапуска всего веб-сервера Apache, возможно,
обновление вашей кодовой базы более плавным. Проконсультируйтесь с mod_wsgi
документацию, чтобы определить, какой режим подходит для вашей установки. Сделать
убедитесь, что у вас установлен Apache с активированным модулем mod_wsgi.
Django будет работать с любой версией Apache, поддерживающей mod_wsgi.
См. Как использовать Django с mod_wsgi
для получения информации о том, как настроить mod_wsgi, когда он у вас есть
установлен.
Если по какой-то причине вы не можете использовать mod_wsgi, не бойтесь: Django поддерживает многие другие
варианты развертывания.Один из них — uWSGI; оно работает
очень хорошо работает с nginx. Кроме того, Django следует спецификации WSGI.
( PEP 3333 ), что позволяет ему работать на различных серверных платформах.
Запустите свою базу данных¶
Если вы планируете использовать API базы данных Django, вам нужно сделать
убедитесь, что сервер базы данных работает. Django поддерживает множество разных баз данных
серверов и официально поддерживается PostgreSQL, MariaDB, MySQL, Oracle
и SQLite.
Если вы разрабатываете небольшой проект или что-то, что не планируете использовать
в производственной среде SQLite, как правило, является лучшим вариантом, поскольку он не
требуют запуска отдельного сервера.Однако SQLite имеет много отличий от
другие базы данных, поэтому, если вы работаете над чем-то существенным, это
рекомендуется разрабатывать с той же базой данных, которую вы планируете использовать в
производство.
Помимо официально поддерживаемых баз есть бэкенды
предоставленные третьими сторонами, которые позволяют вам использовать другие
базы данных с Django.
Помимо серверной части базы данных, вам необходимо убедиться, что ваш Python
привязки к базе данных установлены.
- Если вы используете PostgreSQL, вам понадобится пакет psycopg2.Обратитесь к
Примечания PostgreSQL для получения дополнительных сведений. - Если вы используете MySQL или MariaDB, вам понадобится драйвер API БД, например
mysqlclient
. См. Примечания для MySQL
backend для подробностей. - Если вы используете SQLite, возможно, вы захотите прочитать примечания к серверной части SQLite.
- Если вы используете Oracle, вам понадобится копия cx_Oracle, но, пожалуйста,
прочтите примечания к бэкэнду Oracle для деталей
относительно поддерживаемых версий Oracle иcx_Oracle
. - Если вы используете неофициальную серверную часть стороннего производителя, обратитесь к
документация для любых дополнительных требований.
Если вы планируете использовать команду Django manage.py migrate
для автоматического
создавать таблицы базы данных для ваших моделей (после первой установки Django и
создание проекта), вам необходимо убедиться, что у Django есть разрешение на создание
и изменять таблицы в базе данных, которую вы используете; если вы планируете создать вручную
таблицы, вы можете предоставить Django SELECT
, INSERT
, UPDATE
и
УДАЛИТЬ
разрешений. После создания пользователя базы данных с этими разрешениями,
вы укажете детали в файле настроек вашего проекта, см.
БАЗЫ ДАННЫХ
для подробностей.
Если вы используете среду тестирования Django для тестирования
запросы к базе данных, Django потребуется разрешение на создание тестовой базы данных.
Установите код Django¶
Инструкции по установке немного отличаются в зависимости от того,
установка пакета для конкретного дистрибутива, загрузка последней официальной
выпуск или получение последней разрабатываемой версии.
Установка официального релиза с pip
¶
Это рекомендуемый способ установки Django.
Установить трубопровод. Самый простой — использовать автономный установщик pip. Если твой
В дистрибутиве уже установленоpip
, вам может потребоваться обновить его, если
это устарело. Если он устарел, вы узнаете, потому что установка не будет
Работа.Взгляните на venv. Этот инструмент предоставляет
изолированные среды Python, которые более практичны, чем установка
пакеты по всей системе. Он также позволяет устанавливать пакеты без
права администратора. В дополнительном руководстве рассказывается, как создать виртуальную среду.После того, как вы создали и активировали виртуальную среду, введите команду:
Установка пакета для конкретного дистрибутива¶
Проверьте примечания к дистрибутиву,
ваша платформа / дистрибутив предоставляет официальные пакеты / установщики Django.
Пакеты, предоставляемые распространением, обычно допускают автоматическую установку
о зависимостях и поддерживаемых путях обновления; однако эти пакеты редко
содержат последнюю версию Dj
.
Как установить Django в Windows | Документация Django
Этот документ проведет вас через установку Python 3.8 и Django на
Windows. Он также содержит инструкции по настройке виртуальной среды,
что упрощает работу над проектами Python. Это предназначено для начинающих
руководство для пользователей, работающих над проектами Django, и не отражает того, как Django
следует устанавливать при разработке патчей для самого Django.
Действия, описанные в этом руководстве, были протестированы с Windows 10.В других
версии, шаги будут аналогичными. Вам нужно будет уметь пользоваться
в командной строке Windows.
Установить Python¶
Django — это веб-фреймворк Python, поэтому на вашем компьютере должен быть установлен Python.
машина. На момент написания Python 3.8 является последней версией.
Чтобы установить Python на свой компьютер, перейдите по адресу https://python.org/downloads/. В
веб-сайт должен предложить вам кнопку загрузки последней версии Python.
Скачайте исполняемый установщик и запустите его.Установите флажки рядом с надписью «Установить
программа запуска для всех пользователей (рекомендуется) », затем нажмите« Установить сейчас ».
После установки откройте командную строку и убедитесь, что версия Python
соответствует версии, которую вы установили, выполнив:
Около пункт
¶
pip — это менеджер пакетов для Python, который по умолчанию включен в
Установщик Python. Помогает устанавливать и удалять пакеты Python.
(например, Django!). Для остальной части установки мы будем использовать pip
для
установить пакеты Python из командной строки.
Настройка виртуальной среды¶
Лучше всего предоставлять отдельную среду для каждого проекта Django.
вы создаете. Есть много вариантов управления средами и пакетами в
экосистема Python, некоторые из которых рекомендуются в Python
документация.
Сам Python поставляется с venv для управления
среды, которые мы будем использовать в этом руководстве.
Чтобы создать виртуальную среду для вашего проекта, откройте новую командную строку,
перейдите в папку, в которой вы хотите создать свой проект, а затем введите
следующее:
... \> py -m venv имя-проекта
Будет создана папка с именем «название-проекта», если она еще не существует.
и настроить виртуальную среду. Чтобы активировать среду, запустите:
... \> имя-проекта \ Scripts \ activate.bat
Виртуальная среда будет активирована, и вы увидите «(название-проекта)» рядом.
в командную строку, чтобы указать это. Каждый раз, когда вы запускаете новую команду
появится сообщение, вам нужно будет снова активировать среду.
Установить Django¶
Django можно легко установить с помощью pip
в вашей виртуальной среде.
В командной строке убедитесь, что ваша виртуальная среда активна, и выполните
следующая команда:
... \> py -m pip установить Django
Это загрузит и установит последнюю версию Django.
После завершения установки вы можете проверить установку Django.
выполнив django-admin --version
в командной строке.
См. Раздел Запуск базы данных для получения информации об установке базы данных.
с Django.
Распространенные ошибки¶
Если
django-admin
отображает только текст справки, независимо от аргументов
дано, вероятно, проблема с ассоциацией файлов в
Windows.Проверьте, установлено ли более одной переменной среды для
запуск скриптов Python вPATH
. Обычно это происходит, когда есть больше
установлено более одной версии Python.Если вы подключаетесь к Интернету через прокси-сервер, могут возникнуть проблемы
при запуске командыpy -m pip install Django
. Установите среду
переменные для конфигурации прокси в командной строке следующим образом:... \> установить http_proxy = http: // имя пользователя: пароль @ proxyserver: proxyport ... \> установить https_proxy = https: // имя пользователя: пароль @ proxyserver: proxyport
.
Скачать Django | Джанго
Django доступен с открытым исходным кодом под
Лицензия BSD.
Мы рекомендуем использовать последнюю версию Python 3. Последняя версия для
поддержка Python 2.7 — это Django 1.11 LTS. Видеть
FAQ по версиям Python, поддерживаемым каждой версией Django.
Вот как это получить:
Вариант 1. Получите последнюю официальную версию
Последняя официальная версия — 3.1.1. Прочтите
3.1.1 примечания к выпуску, затем установите его с помощью
пункт:
pip install Django == 3.1.1
Вариант 2. Получите последнюю версию для разработчиков
Самая последняя и лучшая версия Django находится в нашем репозитории Git (наша система контроля версий). Это только для опытных пользователей, которые хотят опробовать входящие изменения и помочь выявить ошибки до официального выпуска. Получите его с помощью этой команды оболочки, для которой требуется Git:
git clone https: // github.com / django / django.git
Вы также можете скачать
сжатый архив с разработанной версией. Этот архив обновляется
каждый раз, когда мы фиксируем код.
После получения
Дополнительные инструкции см. В руководстве по установке. Убедитесь, что вы прочитали документацию, соответствующую только что установленной версии Django.
И не забудьте подписаться на список рассылки django-users, где другие пользователи Django и сами разработчики Django тусуются, чтобы помочь друг другу.
Поддерживаемые версии
Выпуски функций (A.B, A.B + 1 и т. Д.) Будут происходить примерно каждые восемь месяцев.
Эти выпуски будут содержать новые функции, улучшения существующих функций и т. Д.
Патч-релизы (A.B.C и т. Д.) Будут выпущены по мере необходимости для
исправить ошибки и / или проблемы с безопасностью. Эти выпуски будут на 100% совместимы с
связанный выпуск функции, если это невозможно по соображениям безопасности
причин или для предотвращения потери данных.Итак, ответ на вопрос «стоит ли мне перейти на
последний выпуск патча? » всегда будет «да».
Определенные выпуски функций будут обозначены как долгосрочная поддержка
(LTS) выпускает . Эти выпуски получат безопасность и потерю данных
исправления применяются в течение гарантированного периода времени, обычно три года.
Посмотреть
Политика поддерживаемых версий содержит подробные инструкции о том, какие исправления будут перенесены.
Выпуск серии | Последняя версия | Окончание основной поддержки 1 | Окончание расширенной поддержки 2 |
---|---|---|---|
3.1 | 3.1.1 | Апрель 2021 г. | Декабрь 2021 г. |
3,0 | 3.0.10 | Август, 2020 | Апрель 2021 г. |
2,2 ЛТС | 2.2.16 | 2 декабря 2019 г. | Апрель 2022 г. |
2,1 | 2.1.15 | 1 апреля 2019 г. | 2 декабря 2019 г. |
2.0 | 2.0.13 | 1 августа 2018 г. | 1 апреля 2019 г. |
1,11 LTS 3 | 1.11.29 | 2 декабря 2017 г. | 1 апреля 2020 г. |
1,10 | 1.10.8 | 4 апреля 2017 г. | 2 декабря 2017 г. |
1,9 | 1.9.13 | 1 августа 2016 г. | 4 апреля 2017 г. |
1.8 ЛТС | 1.8.19 | 1 декабря 2015 г. | 1 апреля 2018 г. |
1,7 | 1.7.11 | 1 апреля 2015 г. | 1 декабря 2015 г. |
1,6 | 1.6.11 | 2 сентября 2014 г. | 1 апреля 2015 г. |
1,5 | 1.5.12 | 6 ноября 2013 г. | 2 сентября 2014 г. |
1.4 LTS | 1.4.22 | 26 февраля 2013 г. | 1 октября 2015 г. |
1,3 | 1,3,7 | 23 марта 2012 г. | 26 февраля 2013 г. |
Вот как выглядит будущая дорожная карта:
Выпуск серии | Дата выпуска | Окончание основной поддержки 1 | Окончание расширенной поддержки 2 |
---|---|---|---|
3.2 LTS | Апрель 2021 г. | Декабрь 2021 г. | Апрель 2024 г. |
4,0 | Декабрь 2021 г. | Август 2022 г. | Апрель 2023 г. |
4,1 | Август 2022 г. | Апрель 2023 г. | Декабрь 2023 г. |
4,2 ЛТС | Апрель 2023 г. | Декабрь 2023 г. | Апрель 2026 г. |
[1] Исправления безопасности, ошибки потери данных, ошибки сбоя, основные функции
ошибки во вновь представленных функциях и регрессии из старых версий Django.
[2] Исправления безопасности и ошибки потери данных.
[3] Последняя версия для поддержки Python 2.7.
Вернуться к началу
.
Краткое руководство по установке | Документация Django
Прежде чем вы сможете использовать Django, вам необходимо установить его. У нас есть
полное руководство по установке, которое охватывает все
возможности; это руководство проведет вас к простой, минимальной установке
это сработает, пока вы будете читать введение.
Установить Python¶
Django, являясь веб-фреймворком Python, требует Python. Видеть
Какую версию Python можно использовать с Django? для подробностей. Python включает легкий
база данных под названием SQLite, поэтому вам пока не нужно настраивать базу данных.
Загрузите последнюю версию Python по адресу https://www.python.org/download/ или с помощью
диспетчер пакетов вашей операционной системы.
Django на Jython
Если вы используете Jython (реализация Python для платформы Java), вы
необходимо выполнить несколько дополнительных шагов. Подробнее см. Запуск Django на Jython.
Вы можете убедиться, что Python установлен, набрав python
в своей оболочке;
вы должны увидеть что-то вроде:
Python 3.3.3 (по умолчанию, 26 ноября 2013 г., 13:33:18) [GCC 4.8.2] в Linux Для получения дополнительной информации введите «помощь», «авторские права», «кредиты» или «лицензия». >>>
Создание базы данных¶
Этот шаг необходим только в том случае, если вы хотите работать с «большой» СУБД.
например PostgreSQL, MySQL или Oracle. Чтобы установить такую базу данных, обратитесь к
информация об установке базы данных.
Установить Django¶
У вас есть три простых варианта установки Django:
- Установите версию Django, предоставленную вашей операционной системой
распространение.Это самый быстрый вариант для тех, кто
у кого есть операционные системы, распространяющие Django. - Установите официальный релиз. Эта
это лучший подход для большинства пользователей. - Установите последнюю версию для разработки. Этот вариант для энтузиастов, которые хотят
новейшие и лучшие функции и не боятся запускать новый код.
Вы можете столкнуться с новыми ошибками в разрабатываемой версии, но сообщите о них
помогает в разработке Django. Также выпуски сторонних пакетов
менее вероятно, будет совместим с версией для разработки, чем с
последний стабильный выпуск.
Всегда обращайтесь к документации, соответствующей
версию Django, которую вы используете!
Если вы выполните один из первых двух шагов, обратите внимание на части
документация помечена как как новое в разрабатываемой версии . Эта фраза отмечает
функции, доступные только в разрабатываемых версиях Django, и
они скорее всего не будут работать с официальным выпуском.
Проверка
Чтобы убедиться, что Python видит Django, введите в командной строке python
.Затем в командной строке Python попробуйте импортировать Django:
>>> import django >>> печать (django.get_version ()) 1,8
Возможно, у вас установлена другая версия Django.
.