Цель лекции: Рассмотреть особенности установки фреймворка Django и языка программирования Python под различными операционными системами; создать первый проект на Django и запустить сервер разработчика; настроить базу данных для первого проекта
Ключевые термины: Django, установка, Python, Windows, Linux, сервер, разработка, проект, система, база, приложение, окружение, файл, пакет, virtualenv
Наше окружение разработчика состоит из языка программирования Python, Django, и системы базы данных. В следующих разделах мы увидим, как устанавливать эти программные пакеты.
Поскольку Django написан на Python, то естественным образом следует в первую очередь для настройки нашего окружения разработчика установить Python. Python доступен для разнообразных операционных систем, а потому нет различия установки Python от установки других программных пакетов. Конечно же, процесс зависит от операционной системы.
Для установки вам необходимо убедиться, что вы скачали последнюю версию Python. Для Django требуется версия Python 2.7 и выше. Последние версии Python: для версий 3.x – 3.42, для версий 2.x.- 2.7.9.
Пожалуйста, прочтите раздел, относящийся к вашей операционной системе для установочных инструкций.
Python имеет стандартный установщик для пользователей Windows. Просто зайдите на https://python.org/download и скачайте последнюю версию. Затем, сделайте двойной щелчок мышью на .exe или .msi файле и следуйте пошаговым инструкциям установщика. Графический установщик проведет вас через все этапы установки и создаст ярлыки к исполняемым файлам Python в меню Пуск.
Когда установка завершена, необходимо добавить каталог Python в системный путь, чтобы мы могли иметь доступ к Python из командной строки. Для этого нужно выполнить следующие шаги:
Если вы хотите протестировать вашу установку, откройте диалоговое окно Выполнить, наберите python, и нажмите кнопку Enter. Должна открыться интерактивная оболочка Python. Не забудьте отделять новый путь от других c помощью точки с запятой(;).
Если вы используете Linux или какую-либо разновидность Unix, есть шансы, что у вас уже установлен Python. Чтобы это проверить, откройте терминал, наберите python, и нажмите кнопку Enter. Если вы увидите интерактивную оболочку Python, у вас уже установлен Python. После того, как вы набрали python в терминале, вы должны получить следующий вывод:
В первой строке вывода отображается версия, установленная на вашей системе (в данном случае, 3.4.3).
Если вы получили сообщение об ошибке вместо предыдущего вывода, или у вас старая версия Python, то прочтите нижеследующее.
Для пользователей Linux/Unix рекомендуется установка и обновление Python через менеджер системных пакетов. Хотя есть детали, различающиеся от системы к системе, отличий от установки других пакетов нет.
Для дистрибутивов Linux, основанных на APT, таких как Debian и Ubuntu, открыть терминал и набрать следующее:
$ sudo apt-get update $ sudo apt-get install python
Если у вас Synaptic Package Manager, просто наберите в поиске Python, выберите его пакет для установки и нажмите кнопку Apply.
Пользователи других дистрибутивов Linux должны изучить системную документацию по использованию менеджера пакетов для установки пакетов.
Mac OS X поставляется с предустановленным Python. Конечно, исходя из цикла разработки Apple, у вас может стоять старая версия. Если вы запустили интерактивную оболочку Python и у вас версия ниже 2.3, то перейдите по ссылке http://python.org/download/mac и скачать новую версию для вашей установленной Mac OS X.
Итак, когда Python установлен, настроен и запущен, у нас все почти готово. Следующий шаг – установить virtualenv.
C помощью virtualenv вы можете создать изолированное окружение Python. Это не слишком требуется в начале, но это спасает жизнь менеджеру зависимостей (к примеру, если одно веб-приложение требует одну версию библиотеки, а другое приложение, скованное совместимостью, требует другую версию той же библиотеки, или изменения, сделанные в одной библиотеке приложение, прерывают работу остального приложения).
Virtualenv может быть использовано для предотвращения таких проблемных ситуаций. Оно создает свое окружение, не влияющее на глобальные настройки. Обычно оно создает свои собственные каталоги, и общие библиотеки, так что virtualenv работает, не пересекаясь ни с чем извне. Если у вас есть pip 1.3 и выше, установите его глобально. Вы можете использовать следующую команду для установки virtualenv:
pip install virtualenv
Когда полностью завершится скачивание, virtualenv будет выглядеть так:
Теперь все! Сейчас вы можете создать свое виртуальное окружение, набрав следующую команду:
$ virtualenv ENV
Virtualenv имеет обширную онлайн-документацию, которой вы должны следовать при любой ситуации, возникающей у вас. Далее приводится выдержка из онлайн-документации в качестве примера:
Создается ENV/lib/python.X.X/site-packages, куда помещаются любые установленные вами библиотеки. Создается также ENV/bin/python, где располагается интерпретатор Python, использующий свое окружение. Каждый раз, когда вы используете интерпретатор (включая скрипты, содержащие !#/path/to/ENV/python), используются библиотеки этого окружения.
Мы можем найти онлайн-документацию для virtualenv по адресу: https://virtualenv.pypa.io/en/latest/.
Новая папка virtualenv также включает в себя установщик pip, так что вы можете использовать команду ENV/bin/pip для установки дополнительных пакетов окружения.
Скрипт активации. Во вновь созданном виртуальном окружении должен быть скрипт оболочки /bin/activate. Для Windows-систем активационные скрипты поставляются через CMD и PowerShell.
Вы можете прочитать больше на странице:
https://virtualenv.pypa.io/en/latest/virtualenv.html
В Unix системах мы можем использовать следующую команду для активации скрипта virtualenv:
$ source bin/activate
В системе Windows мы можем использовать следующую команду для активации virtualenv из-под командной строки:
: > \path\to\env\Scripts\activate
Для отмены изменений наберите deactivate, как показано на следующем скриншоте:
Это меняет вашу переменную $PATH.
Чтобы узнать больше об активации скриптов, например, какое окружение вы используете, или нужно ли вам активировать скрипт, пожалуйста, посетите следующую ссылку: http://Virtualenv.readthedocs.org/en/Latest/Virtualenv.HTML
Установка Django очень проста, но она слегка зависит от вашей операционной системы. Поскольку Python является платформенно независимый языком, Django имеет один пакет, который работает везде, независимо от вашей операционной системы.
Чтобы скачать Django, пройдите по ссылке http://www.djangoproject.com/download/ и возьмите последнюю официальную версию. Код в этой книге разрабатывался на Django 1.7 (последняя на момент написания), но большая часть кода должна работать на более поздних официальных релизах. Далее следуйте инструкции, относящимся к вашей платформе.
Есть несколько моментов, которые вам нужно знать, когда вы имеете дело с операционными системами. Многие пакеты и параметры нужно отшлифовать перед запуском Django без сучка и задоринки. Давайте посмотрим на некоторые:
После того, как вы скачали архив с Django, распакуйте его на диск C и откройте командную строку(Пуск|Служебные). Теперь смените текущий каталог на тот, в который вы распаковали Django следующей командой:
c:\cd c:\Django-x.xx
Здесь x.xx – ваша текущая версия Django.
Далее установите Django, выполнив следующую команду (вам потребуются права администратора):
C:\Django-x.xx.python setup.py install
Если у вас нет программы, ассоциированной с файлами .tar.gz , то рекомендуется использовать 7-zip, который совершенно бесплатно доступен на http://www.7-zip.org
Если, по каким-то причинам, предыдущие инструкции не работают, вы можете вручную скопировать папку django из архива в папку Lib\site-packages, расположенную в каталоге установки Python. Это выполнит команду установки setyp.py.
Последний шаг заключается в копировании файла django-admin.py из каталога Django-x.xx\django\bin в какой-нибудь системный каталог, такой как с:\windows или каталог установки Python.
После этого вы можете удалить за ненадобностью папку с:\Django-x.xx.
Вот и все! Чтобы проверить вашу установку, откройте командную строку, наберите и выполните следующую команду:
c:\>django-admin.py --version
Если вы видите на экране текущую версию Django, то все настроено правильно.
Инструкции по установке для всех Linux и Unix систем одинаковы. Вам нужно выполнить следующие команды в каталоге, где расположен архив Django-x.xx.tar.gz. Эти команды распаковывают архив и устанавливают вам Django:
$ tar xfz Django-x.xx.tar.gz $ cd Django-x.xx $ sudo python setup.py install
Предыдущие инструкции должен работать на любой операционной системы семейства Unix/Linux, а также Mac OS X. Однако, возможно будет легче установить Django, используя менеджер пакетов вашей системы, если для нее есть пакет Django. Для Ubuntu есть такой пакет; поэтому для установки Django на Ubuntu, необходимо найти пакет под названием python-django в Synaptic или выполнить следующую команду:
$ sudo apt-get install python-django
Вы можете протестировать вашу установку, запустив следующую команду:
$ django-admin.py --version
Если вы видите на экране текущую версию Django, то все настроено правильно.
Пока приложение не требует наличия базы данных для обеспечения функциональности, мы еще не приступали к разработке приложения. Теперь, в качестве последнего шага установки программного обеспечения, мы должны убедиться, что у нас есть система базы данных для связи с нашими данными.
Стоит отметить, что Django поддерживает несколько движков баз данных: MySQL, PostgreSQL, MS SQL Server, Oracle и SQLite. Интересно, что для доступа и к любой из этих баз данных, вам требуется знать один и тот же API. Это возможно, потому что слой баз данных Django абстрагирует доступ к системе базы данных.
Мы познакомимся с этим позже, сейчас же вам только нужно знать, что независимо от выбранной вами базы данных, вы сможете запустить приложения Django, разработанные в этой книге (или любой другой) без изменений.
Если у вас установлен Python 2.7 или выше, вам не нужно ничего устанавливать. Python 2.7 поставляется в комплекте с СУБД SQLite, содержащейся в модуле, называющемся sqlite3. В отличие от клиент-серверных систем баз данных SQLite не требуют резидентных процессов в памяти и база данных хранится в одном файле, что делает его идеальным для нашего окружения разработки.
Если у вас установлен не Python 2.7, то вы можете загрузить модуль Python для SQLite вручную с сайта http://www.pysqlite.org/ (для пользователей Windows) или используя менеджер пакетов (Unix/Linux).
С другой стороны, вы можете использовать существующую установку, если на вашей машине уже установлен сервер базы данных, поддерживаемый Django. Мы должны указать Django, какую систему базы данных использовать, отредактировав конфигурационный файл так, как мы увидим в дальнейшем. Возможно ли использовать Apache или какой-либо другой веб-сервер? В поставке Django есть свой собственный сервер, который мы будем использовать на стадии разработки по причине его легковесности и изначально настроен на работу с Django.Конечно же, Django поддерживает Apache и другие популярные веб-серверы, такие как light tpd, nginx и другие. Мы покажем, как настроить Django для Apache, когда мы будем готовить наше приложение к развертыванию, далее в книге.
То же относится и к менеджеру базы данных. В течение стадии разработки, мы используем SQLite, потому что его легко настроить, но при развертывании приложения мы переключаемся на сервер базы данных, такой как MySQL.
Как говорилось выше, код остается тем же самым вне зависимости от используемых компонентов; Django для нас соединяет всё с интернетом и сервером базы данных.
Сейчас, когда все программное обеспечение находится на своем месте, пришло время для самой веселой части – созданию нашего первого проекта на Django!
Если вы еще раз обратитесь к разделу установки, то увидите, что мы использовали для проверки установки команду django-admin.py. Эта утилита является сердцем управляющих мощностей проекта Django, так как она позволяет пользователю запустить ряд управляющих задач проекта, включая эти:
Мы увидим, как использовать некоторые из этих задач в оставшейся части главы.
Для создания пустого проекта Django, откройте терминал (или командная строка у Windows пользователей; для запуска выполните: Пуск| Выполнить| cmd ) и наберите следующую команду. Затем, нажмите Enter.
$ django-admin.py startproject django_bookmarks
Эта команда создает папку с именем django_bookmarks в текущем каталоге и создает начальную структуру внутри нее. Посмотрим, что за файлы создались:
django_bookmarks/ |-- django_bookmarks | |--init.py |-- settings.py | |— urls.py "-- wsgi.py "-- manage.py
Вот краткое пояснение, что это за файлы:
Пакет в терминологии языка Python это коллекция модулей, и они используются для группировки похожих файлов и для предотвращения конфликта имен.
Когда мы начнем писать код для нашего приложения, мы создадим новые файлы внутри каталога проекта; потому каталог проекта служит так же и хранилищем для нашего кода.
Теперь, когда мы дали общее представление о структуре проекта Django, давайте настроим нашу систему базы данных.
В этом разделе мы начнем настройку базы данных с помощью различных настроек и конфигурационных файлов.
Итак, сейчас когда у нас есть готовый к работе редактор кода, давайте откроем файл settings.py в папке проекта и посмотрим, что он содержит:
"""
Django settings for django_bookmarks project.
Generated by 'django-admin startproject' using Django 1.8.3.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.8/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '2clp(s%zxfjsz44gv19u9darbtm@#=w7uivyjf^esfyn%)sjy'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'django_bookmarks.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'django_bookmarks.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_URL = '/static/'
Как вы могли уже отметить, файл содержит некоторое число переменных, контролирующих некоторые аспекты приложения. Вставить новое значение так же просто, как сделать присвоение состояния в Python. В довершение ко всему, файл богато комментирован, детально поясняя, что каждая переменная контролирует.
Но сейчас нас интересует настройка базы данных. Как отмечалось выше, Django поддерживает несколько систем баз данных, поэтому необходимо определиться, какую систему базы данных мы будем использовать. Это контролируется переменной DATABASE_ENGINE. Если вы установили SQLite, установите значение переменной в ‘sqlite3’. В противном случае выберите значение переменной исходя из выбранной вами базы данных.
Следующий шаг – указание имени базы данных. Оставьте имя базы данных по умолчанию, как есть. С другой стороны, если у вас есть сервер базы данных, вам нужно сделать следующее:
Наконец, мы должны популярно рассказать Django о настроенной базе данных с таблицами. Хотя мы еще не создавали таблиц для наших данных (по крайней мере, до следующей главы), Django требуются некоторые таблицы в базе данных для обеспечения нормальной функциональности. Легко создать эти таблицы, используя следующую команду:
$ python manage.py syncdb
Если все верно, то на экране появятся статусные сообщения, показывающие, что таблицы созданы. Когда будет запрошен супераккаунт, введите предпочитаемый логин, адрес электронной почты и пароль. Если же напротив, база данных сконфигурирована ошибочно, будет выведено сообщение об ошибке, которое поможет вам устранить источник проблемы.
Если же все в порядке, мы готовы запускать приложение.
Когда вы выполняете команду, начинающуюся с python manage.py, вы должны убедиться в наличии файла manage.py в текущем каталоге проекта.
Как обсуждалось ранее, Django поставляется вместе с легковесным веб-сервером для разработки и тестирования приложений. Этот сервер предварительно настроен на работу с Django, он перезапускается каждый раз, когда изменяется код.
Для запуска сервера введите следующую команду:
$ python manage.py runserver
Далее, откройте ваш браузер и перейдите по этому адресу: http://localhost:8000/.
Вы должны увидеть сообщение-приглашение, как показано на следующем скриншоте:
Поздравляем! Вы создали и настроили ваш первый проект Django. Это проект будет фундаментом, на основании которого мы будем строить наше приложение для веб-закладок. В следующей лекции мы начнем разработку нашего приложения, и страницу, отображаемую веб-сервером заменим на то, что мы напишем сами!
Как вы могли заметить, веб-сервер по умолчанию использует порт 8000. Если вы захотите изменить порт, вам нужно определить его с помощью следующей команды:
$ python manage.py runserver <port number>
Также, по умолчанию сервер разработки запускается на локальной машине. Если вы хотите, чтобы сервер разработки был доступен в вашей сети, используйте следующие аргументы командной строки:
$ python manage.py runserver 0.0.0.0:<port numbers>
Контрольные вопросы
Упражнения
Упражнение 1.
Используя официальную документацию по Django, определите назначение следующих настроек в файле settings.py вашего первого проекта:
Упражнение 2.
Перейдите по адресу http: //djangoproject.com, затем загрузите и установите веб-платформу Django (и SQLite, если не используется ПК с операционной системой Windows, поскольку SQLite предосrавляется по умолчанию, начиная с версии Python 2.5 для Windows).
Упражнение 3.
Выполните сценарий dj ango-admin. ру startproj ect helloworld для запуска проекта, затем выполните команды cd helloworld; python . / manage. ру startapp hello, чтобы запустить приложение.
Упражнение 4.
Измените порт запуска сервера разработки и добейтесь повторного запуска сервера разработки
Краткие итоги
Цель лекции: Рассмотреть особенности установки фреймворка Django и языка программирования Python под различными операционными системами; создать первый проект на Django и запустить сервер разработчика; настроить базу данных для первого проекта
Ключевые термины: Django, установка, Python, Windows, Linux, сервер, разработка, проект, система, база, приложение, окружение, файл, пакет, virtualenv
Наше окружение разработчика состоит из языка программирования Python, Django, и системы базы данных. В следующих разделах мы увидим, как устанавливать эти программные пакеты.
Поскольку Django написан на Python, то естественным образом следует в первую очередь для настройки нашего окружения разработчика установить Python. Python доступен для разнообразных операционных систем, а потому нет различия установки Python от установки других программных пакетов. Конечно же, процесс зависит от операционной системы.
Для установки вам необходимо убедиться, что вы скачали последнюю версию Python. Для Django требуется версия Python 2.7 и выше. Последние версии Python: для версий 3.x – 3.42, для версий 2.x.- 2.7.9.
Пожалуйста, прочтите раздел, относящийся к вашей операционной системе для установочных инструкций.
Python имеет стандартный установщик для пользователей Windows. Просто зайдите на https://python.org/download и скачайте последнюю версию. Затем, сделайте двойной щелчок мышью на .exe или .msi файле и следуйте пошаговым инструкциям установщика. Графический установщик проведет вас через все этапы установки и создаст ярлыки к исполняемым файлам Python в меню Пуск.
Когда установка завершена, необходимо добавить каталог Python в системный путь, чтобы мы могли иметь доступ к Python из командной строки. Для этого нужно выполнить следующие шаги:
Если вы хотите протестировать вашу установку, откройте диалоговое окно Выполнить, наберите python, и нажмите кнопку Enter. Должна открыться интерактивная оболочка Python. Не забудьте отделять новый путь от других c помощью точки с запятой(;).
Если вы используете Linux или какую-либо разновидность Unix, есть шансы, что у вас уже установлен Python. Чтобы это проверить, откройте терминал, наберите python, и нажмите кнопку Enter. Если вы увидите интерактивную оболочку Python, у вас уже установлен Python. После того, как вы набрали python в терминале, вы должны получить следующий вывод:
В первой строке вывода отображается версия, установленная на вашей системе (в данном случае, 3.4.3).
Если вы получили сообщение об ошибке вместо предыдущего вывода, или у вас старая версия Python, то прочтите нижеследующее.
Для пользователей Linux/Unix рекомендуется установка и обновление Python через менеджер системных пакетов. Хотя есть детали, различающиеся от системы к системе, отличий от установки других пакетов нет.
Для дистрибутивов Linux, основанных на APT, таких как Debian и Ubuntu, открыть терминал и набрать следующее:
$ sudo apt-get update $ sudo apt-get install python
Если у вас Synaptic Package Manager, просто наберите в поиске Python, выберите его пакет для установки и нажмите кнопку Apply.
Пользователи других дистрибутивов Linux должны изучить системную документацию по использованию менеджера пакетов для установки пакетов.
Mac OS X поставляется с предустановленным Python. Конечно, исходя из цикла разработки Apple, у вас может стоять старая версия. Если вы запустили интерактивную оболочку Python и у вас версия ниже 2.3, то перейдите по ссылке http://python.org/download/mac и скачать новую версию для вашей установленной Mac OS X.
Итак, когда Python установлен, настроен и запущен, у нас все почти готово. Следующий шаг – установить virtualenv.
C помощью virtualenv вы можете создать изолированное окружение Python. Это не слишком требуется в начале, но это спасает жизнь менеджеру зависимостей (к примеру, если одно веб-приложение требует одну версию библиотеки, а другое приложение, скованное совместимостью, требует другую версию той же библиотеки, или изменения, сделанные в одной библиотеке приложение, прерывают работу остального приложения).
Virtualenv может быть использовано для предотвращения таких проблемных ситуаций. Оно создает свое окружение, не влияющее на глобальные настройки. Обычно оно создает свои собственные каталоги, и общие библиотеки, так что virtualenv работает, не пересекаясь ни с чем извне. Если у вас есть pip 1.3 и выше, установите его глобально. Вы можете использовать следующую команду для установки virtualenv:
pip install virtualenv
Когда полностью завершится скачивание, virtualenv будет выглядеть так:
Теперь все! Сейчас вы можете создать свое виртуальное окружение, набрав следующую команду:
$ virtualenv ENV
Virtualenv имеет обширную онлайн-документацию, которой вы должны следовать при любой ситуации, возникающей у вас. Далее приводится выдержка из онлайн-документации в качестве примера:
Создается ENV/lib/python.X.X/site-packages, куда помещаются любые установленные вами библиотеки. Создается также ENV/bin/python, где располагается интерпретатор Python, использующий свое окружение. Каждый раз, когда вы используете интерпретатор (включая скрипты, содержащие !#/path/to/ENV/python), используются библиотеки этого окружения.
Мы можем найти онлайн-документацию для virtualenv по адресу: https://virtualenv.pypa.io/en/latest/.
Новая папка virtualenv также включает в себя установщик pip, так что вы можете использовать команду ENV/bin/pip для установки дополнительных пакетов окружения.
Скрипт активации. Во вновь созданном виртуальном окружении должен быть скрипт оболочки /bin/activate. Для Windows-систем активационные скрипты поставляются через CMD и PowerShell.
Вы можете прочитать больше на странице:
https://virtualenv.pypa.io/en/latest/virtualenv.html
В Unix системах мы можем использовать следующую команду для активации скрипта virtualenv:
$ source bin/activate
В системе Windows мы можем использовать следующую команду для активации virtualenv из-под командной строки:
: > \path\to\env\Scripts\activate
Для отмены изменений наберите deactivate, как показано на следующем скриншоте:
Это меняет вашу переменную $PATH.
Чтобы узнать больше об активации скриптов, например, какое окружение вы используете, или нужно ли вам активировать скрипт, пожалуйста, посетите следующую ссылку: http://Virtualenv.readthedocs.org/en/Latest/Virtualenv.HTML
Установка Django очень проста, но она слегка зависит от вашей операционной системы. Поскольку Python является платформенно независимый языком, Django имеет один пакет, который работает везде, независимо от вашей операционной системы.
Чтобы скачать Django, пройдите по ссылке http://www.djangoproject.com/download/ и возьмите последнюю официальную версию. Код в этой книге разрабатывался на Django 1.7 (последняя на момент написания), но большая часть кода должна работать на более поздних официальных релизах. Далее следуйте инструкции, относящимся к вашей платформе.
Есть несколько моментов, которые вам нужно знать, когда вы имеете дело с операционными системами. Многие пакеты и параметры нужно отшлифовать перед запуском Django без сучка и задоринки. Давайте посмотрим на некоторые:
После того, как вы скачали архив с Django, распакуйте его на диск C и откройте командную строку(Пуск|Служебные). Теперь смените текущий каталог на тот, в который вы распаковали Django следующей командой:
c:\cd c:\Django-x.xx
Здесь x.xx – ваша текущая версия Django.
Далее установите Django, выполнив следующую команду (вам потребуются права администратора):
C:\Django-x.xx.python setup.py install
Если у вас нет программы, ассоциированной с файлами .tar.gz , то рекомендуется использовать 7-zip, который совершенно бесплатно доступен на http://www.7-zip.org
Если, по каким-то причинам, предыдущие инструкции не работают, вы можете вручную скопировать папку django из архива в папку Lib\site-packages, расположенную в каталоге установки Python. Это выполнит команду установки setyp.py.
Последний шаг заключается в копировании файла django-admin.py из каталога Django-x.xx\django\bin в какой-нибудь системный каталог, такой как с:\windows или каталог установки Python.
После этого вы можете удалить за ненадобностью папку с:\Django-x.xx.
Вот и все! Чтобы проверить вашу установку, откройте командную строку, наберите и выполните следующую команду:
c:\>django-admin.py --version
Если вы видите на экране текущую версию Django, то все настроено правильно.
Инструкции по установке для всех Linux и Unix систем одинаковы. Вам нужно выполнить следующие команды в каталоге, где расположен архив Django-x.xx.tar.gz. Эти команды распаковывают архив и устанавливают вам Django:
$ tar xfz Django-x.xx.tar.gz $ cd Django-x.xx $ sudo python setup.py install
Предыдущие инструкции должен работать на любой операционной системы семейства Unix/Linux, а также Mac OS X. Однако, возможно будет легче установить Django, используя менеджер пакетов вашей системы, если для нее есть пакет Django. Для Ubuntu есть такой пакет; поэтому для установки Django на Ubuntu, необходимо найти пакет под названием python-django в Synaptic или выполнить следующую команду:
$ sudo apt-get install python-django
Вы можете протестировать вашу установку, запустив следующую команду:
$ django-admin.py --version
Если вы видите на экране текущую версию Django, то все настроено правильно.
Пока приложение не требует наличия базы данных для обеспечения функциональности, мы еще не приступали к разработке приложения. Теперь, в качестве последнего шага установки программного обеспечения, мы должны убедиться, что у нас есть система базы данных для связи с нашими данными.
Стоит отметить, что Django поддерживает несколько движков баз данных: MySQL, PostgreSQL, MS SQL Server, Oracle и SQLite. Интересно, что для доступа и к любой из этих баз данных, вам требуется знать один и тот же API. Это возможно, потому что слой баз данных Django абстрагирует доступ к системе базы данных.
Мы познакомимся с этим позже, сейчас же вам только нужно знать, что независимо от выбранной вами базы данных, вы сможете запустить приложения Django, разработанные в этой книге (или любой другой) без изменений.
Если у вас установлен Python 2.7 или выше, вам не нужно ничего устанавливать. Python 2.7 поставляется в комплекте с СУБД SQLite, содержащейся в модуле, называющемся sqlite3. В отличие от клиент-серверных систем баз данных SQLite не требуют резидентных процессов в памяти и база данных хранится в одном файле, что делает его идеальным для нашего окружения разработки.
Если у вас установлен не Python 2.7, то вы можете загрузить модуль Python для SQLite вручную с сайта http://www.pysqlite.org/ (для пользователей Windows) или используя менеджер пакетов (Unix/Linux).
С другой стороны, вы можете использовать существующую установку, если на вашей машине уже установлен сервер базы данных, поддерживаемый Django. Мы должны указать Django, какую систему базы данных использовать, отредактировав конфигурационный файл так, как мы увидим в дальнейшем. Возможно ли использовать Apache или какой-либо другой веб-сервер? В поставке Django есть свой собственный сервер, который мы будем использовать на стадии разработки по причине его легковесности и изначально настроен на работу с Django.Конечно же, Django поддерживает Apache и другие популярные веб-серверы, такие как light tpd, nginx и другие. Мы покажем, как настроить Django для Apache, когда мы будем готовить наше приложение к развертыванию, далее в книге.
То же относится и к менеджеру базы данных. В течение стадии разработки, мы используем SQLite, потому что его легко настроить, но при развертывании приложения мы переключаемся на сервер базы данных, такой как MySQL.
Как говорилось выше, код остается тем же самым вне зависимости от используемых компонентов; Django для нас соединяет всё с интернетом и сервером базы данных.
Сейчас, когда все программное обеспечение находится на своем месте, пришло время для самой веселой части – созданию нашего первого проекта на Django!
Если вы еще раз обратитесь к разделу установки, то увидите, что мы использовали для проверки установки команду django-admin.py. Эта утилита является сердцем управляющих мощностей проекта Django, так как она позволяет пользователю запустить ряд управляющих задач проекта, включая эти:
Мы увидим, как использовать некоторые из этих задач в оставшейся части главы.
Для создания пустого проекта Django, откройте терминал (или командная строка у Windows пользователей; для запуска выполните: Пуск| Выполнить| cmd ) и наберите следующую команду. Затем, нажмите Enter.
$ django-admin.py startproject django_bookmarks
Эта команда создает папку с именем django_bookmarks в текущем каталоге и создает начальную структуру внутри нее. Посмотрим, что за файлы создались:
django_bookmarks/ |-- django_bookmarks | |--init.py |-- settings.py | |— urls.py "-- wsgi.py "-- manage.py
Вот краткое пояснение, что это за файлы:
Пакет в терминологии языка Python это коллекция модулей, и они используются для группировки похожих файлов и для предотвращения конфликта имен.
Когда мы начнем писать код для нашего приложения, мы создадим новые файлы внутри каталога проекта; потому каталог проекта служит так же и хранилищем для нашего кода.
Теперь, когда мы дали общее представление о структуре проекта Django, давайте настроим нашу систему базы данных.
В этом разделе мы начнем настройку базы данных с помощью различных настроек и конфигурационных файлов.
Итак, сейчас когда у нас есть готовый к работе редактор кода, давайте откроем файл settings.py в папке проекта и посмотрим, что он содержит:
"""
Django settings for django_bookmarks project.
Generated by 'django-admin startproject' using Django 1.8.3.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.8/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '2clp(s%zxfjsz44gv19u9darbtm@#=w7uivyjf^esfyn%)sjy'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'django_bookmarks.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'django_bookmarks.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_URL = '/static/'
Как вы могли уже отметить, файл содержит некоторое число переменных, контролирующих некоторые аспекты приложения. Вставить новое значение так же просто, как сделать присвоение состояния в Python. В довершение ко всему, файл богато комментирован, детально поясняя, что каждая переменная контролирует.
Но сейчас нас интересует настройка базы данных. Как отмечалось выше, Django поддерживает несколько систем баз данных, поэтому необходимо определиться, какую систему базы данных мы будем использовать. Это контролируется переменной DATABASE_ENGINE. Если вы установили SQLite, установите значение переменной в ‘sqlite3’. В противном случае выберите значение переменной исходя из выбранной вами базы данных.
Следующий шаг – указание имени базы данных. Оставьте имя базы данных по умолчанию, как есть. С другой стороны, если у вас есть сервер базы данных, вам нужно сделать следующее:
Наконец, мы должны популярно рассказать Django о настроенной базе данных с таблицами. Хотя мы еще не создавали таблиц для наших данных (по крайней мере, до следующей главы), Django требуются некоторые таблицы в базе данных для обеспечения нормальной функциональности. Легко создать эти таблицы, используя следующую команду:
$ python manage.py syncdb
Если все верно, то на экране появятся статусные сообщения, показывающие, что таблицы созданы. Когда будет запрошен супераккаунт, введите предпочитаемый логин, адрес электронной почты и пароль. Если же напротив, база данных сконфигурирована ошибочно, будет выведено сообщение об ошибке, которое поможет вам устранить источник проблемы.
Если же все в порядке, мы готовы запускать приложение.
Когда вы выполняете команду, начинающуюся с python manage.py, вы должны убедиться в наличии файла manage.py в текущем каталоге проекта.
Как обсуждалось ранее, Django поставляется вместе с легковесным веб-сервером для разработки и тестирования приложений. Этот сервер предварительно настроен на работу с Django, он перезапускается каждый раз, когда изменяется код.
Для запуска сервера введите следующую команду:
$ python manage.py runserver
Далее, откройте ваш браузер и перейдите по этому адресу: http://localhost:8000/.
Вы должны увидеть сообщение-приглашение, как показано на следующем скриншоте:
Поздравляем! Вы создали и настроили ваш первый проект Django. Это проект будет фундаментом, на основании которого мы будем строить наше приложение для веб-закладок. В следующей лекции мы начнем разработку нашего приложения, и страницу, отображаемую веб-сервером заменим на то, что мы напишем сами!
Как вы могли заметить, веб-сервер по умолчанию использует порт 8000. Если вы захотите изменить порт, вам нужно определить его с помощью следующей команды:
$ python manage.py runserver <port number>
Также, по умолчанию сервер разработки запускается на локальной машине. Если вы хотите, чтобы сервер разработки был доступен в вашей сети, используйте следующие аргументы командной строки:
$ python manage.py runserver 0.0.0.0:<port numbers>
Контрольные вопросы
Упражнения
Упражнение 1.
Используя официальную документацию по Django, определите назначение следующих настроек в файле settings.py вашего первого проекта:
Упражнение 2.
Перейдите по адресу http: //djangoproject.com, затем загрузите и установите веб-платформу Django (и SQLite, если не используется ПК с операционной системой Windows, поскольку SQLite предосrавляется по умолчанию, начиная с версии Python 2.5 для Windows).
Упражнение 3.
Выполните сценарий dj ango-admin. ру startproj ect helloworld для запуска проекта, затем выполните команды cd helloworld; python . / manage. ру startapp hello, чтобы запустить приложение.
Упражнение 4.
Измените порт запуска сервера разработки и добейтесь повторного запуска сервера разработки
Краткие итоги
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.