Файл: Убедись, что установка прошла успешно, открыв приложение Терминал и запустив команду.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 221

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Установка Django После запуска virtualenv ты можешь установить Django.Перед этим мы должны удостовериться, что у тебя установлена последняя версия pip — программы, которую мы используем для установки Django.command-line(myvenv) $ python3 -m pip install --upgrade pip Установка библиотек через указание требований Файл с требованиями (requirements) хранит список зависимостей, которые нужно установить с помощью pip install:Для начала создай файл requirements.txt внутри директории djangogirls/, используя текстовый редактор, который ты установила ранее. Просто создай в редакторе новый файл, а затем сохрани его под именем requirements.txt в директории djangogirls/. После этого твоя директория будет выглядеть так:djangogirls└───requirements.txtВ файл djangogirls/requirements.txt нужно добавить такой текст:djangogirls/requirements.txtDjango=3.2.10Теперь выполни команду pip install -r requirements.txt, чтобы установить Django.command-line(myvenv) $ pip install -r requirements.txtCollecting Django=3.2.10 (from -r requirements.txt (line 1)) Downloading Django-3.2.10-py3-none-any.whl (7.1MB)Installing collected packages: DjangoSuccessfully installed Django-3.2.10Установка_Django:_Windows'>Установка Django: WindowsЕсли при запуске pip в Windows ты получаешь сообщение об ошибке, проверь, что путь к директории с проектом не содержит пробелов или специальных символов (C:\Users\User Name\djangogirls). Если проблема в этом, то, пожалуйста, перенеси свой проект в другое место, адрес которого не будет содержать пробелов и специальных символов (предлагаем C:\djangogirls). Создай новое виртуальное окружение в новой директории, после этого удали старое и попробуй запустить команды выше заново (перемещение виртуального окружения не сработает, поскольку в нём используются абсолютные пути).Установка Django: Windows 8 и Windows 10При попытке установки Django твоя командная строка может зависнуть. Если это произошло, вместо приведённой выше команды используй:command-lineC:\Users\Name\djangogirls> python -m pip install -r requirements.txtУстановка GitGit — это «система управления версиями», используемая множеством программистов. Эта программа отслеживает изменения, происходящие с файлами, чтобы впоследствии можно было восстановить состояние кода на нужный момент времени. Это немного похоже на функцию отслеживания изменений в Microsoft Word, но куда мощнее.Установка GitWindows Настройка Chromebook Примечание Если ты уже прошла раздел Установка, не нужно делать это снова – можно перейти прямо к Введению в PythonЕсли ты не используешь Chromebook, можешь пропустить эту секцию. В противном случае процесс установки будет немного другим, и тебе нужно будет пройти только эту инструкцию по установке. Облачная IDE (PaizaCloud Cloud IDE, AWS Cloud9) Облачная IDE — это инструмент, который предоставляет тебе редактор кода и доступ к компьютеру, запущенному в интернете. На этом удалённом компьютере ты можешь устанавливать, создавать и запускать программы. На время прохождения этого руководства облачная IDE будет вести себя как локальный компьютер. Ты будешь так же, как и другие участницы с OS X, Ubuntu или Windows, выполнять команды в командной строке, но она будет подключена к компьютеру облачной IDE, который находится где-то в другом месте.Ниже ты увидишь инструкции для настройки облачных IDE (PaizaCloud Cloud IDE, AWS Cloud9). Ты можешь выбрать одну из них и выполнить соответствующие действия. PaizaCloud Cloud IDE Перейди на сайт PaizaCloud Cloud IDE Войди в свой аккаунт Нажми New Server Нажми кнопку Terminal (в левой части окна) Теперь ты должна увидеть интерфейс с боковой панелью, кнопки расположены слева. Нажми кнопку "Terminal", чтобы открыть командную строку. Ты увидишь приглашение командной строки:Terminal$Командная строка в PaizaCloud Cloud IDE готова к твоим командам. Ты можешь изменить размер этого окна, чтобы сделать его немного больше. AWS Cloud9 Перейди на сайт AWS Cloud9 Войди в свой аккаунт Нажми Create Environment Теперь ты должна увидеть интерфейс с боковой панелью, большим основным окном с текстом, а также маленьким окошком снизу, которое выглядит как-то так:bashyourusername:/workspace $Эта область внизу и есть твоя командная строка. Ты можешь использовать её, чтобы давать команды удалённому компьютеру в Cloud9. Ты можешь изменить размер этого окна, чтобы сделать его немного больше. Виртуальное окружение Виртуальное окружение (его также называют virtualenv) похоже на личную коробку, куда мы можем сложить полезный код для проекта, над которым работаем. Виртуальные окружения нужны нам, чтобы держать отдельно разные кусочки кода для наших проектов — так они не перемешаются между разными проектами.В твоей командной строке в нижней части интерфейса Cloud 9 запусти следующие команды:Cloud 9sudo apt updatesudo apt install python3.6-venvЕсли они не сработают, попроси своего тренера помочь.Далее запусти:Cloud 9mkdir djangogirlscd djangogirlspython3.6 -mvenv myvenvsource myvenv/bin/activatepip install django=3.2.10(обрати внимание, что в последней строчке мы используем сочетание тильды и знака равенства: 

Как работает Интернет

Знакомство с командной строкой Для тех, кто проходит руководство дома: о материале этой главы рассказывает видео Ваш новый друг — командная строка.Вот это да! Всего через несколько минут ты напишешь свою первую строку кода! :)Позволь представить нашего первого нового друга: командную строку!Следующие шаги покажут, как использовать чёрное окно, которым пользуются все хакеры. В начале оно может показаться немного пугающим, но, на самом деле это просто окно, которое ждет от тебя команды.Примечание Пожалуйста, обрати внимание, что в этом руководстве мы используем термины «каталог» и «папка» взаимозаменяемо: эти слова обозначают одно и то же. Что такое командная строка? Окно, которое обычно называют командной строкой или интерфейсом командной строки (англ. CLI, Command Line Interface), является текстовым приложением для просмотра, обработки и манипулирования файлами на вашем компьютере. Она делает то же, что и Проводник в Windows или Finder в Mac OS X, но у неё нет графического интерфейса. Другими названиями для командной строки являются: cmd, CLI, prompt, консоль или терминал. Открываем интерфейс командной строки Для того, чтобы начать экспериментировать, нам нужно сначала открыть интерфейс командной строки.WindowsВ зависимости от твоей версии Windows и того, какая у тебя клавиатура, одно из следующих действий откроет окно командной строки (возможно, придётся немного поэкспериментировать, но все варианты пробовать необязательно): Перейди в меню Пуск (или на экран Пуск), в строке поиска набери "Командная строка". Перейди в меню Пуск → Windows → Командная строка. Перейди в меню Пуск → Все программы → Служебные → Командная строка. Перейди на экран Пуск, наведи мышь на нижний левый угол экрана и нажми на стрелочку вниз, которая появится там. (Если у тебя тачскрин, листни пальцем снизу вверх.) Откроется страница "Приложения". Выбери пункт "Командная строка" в разделе "Windows". Удерживая клавишу Windows на клавиатуре, нажми X. В появившемся меню выбери пункт "Командная строка". Удерживая клавишу Windows, нажми R, чтобы появилось окно "Выполнить". Набери в строке cmd и нажми OK. В какой-то момент тебе понадобятся два окна командной строки одновременно. Однако в некоторых версиях Windows, если ты попытаешься запустить вторую командную строку, когда одна уже запущена тем же способом, ты вместо этого попадёшь в уже открытое окно командной строки. Попробуй у себя на компьютере и посмотри, что будет! Если у тебя получается открыть только одно окно командной строки, попробуй какой-нибудь другой из вышеприведённых способов в списке. По крайней мере один из них сможет открыть новое окно командной строки.OS XLinux Командная строка Перед тобой должно появиться белое или чёрное окошко. Оно ожидает, когда ты введёшь команду.OS X и LinuxWindowsПеред каждой твоей командой будет стоять знак $ или > и пробел. Но тебе не нужно их печатать! Компьютер уже сделал это за тебя. :)Небольшое примечание: перед курсором командной строки может быть написано что-то вроде C:\Users\ola> или Olas-MacBook-Air:

Твоя первая команда (УРА!)

Основы

Подведём итоги

Готова продолжить?

Введение в Python

Консоль Python

Твоя первая команда Python!

Строки

Ошибки

Переменные

Функция print

Списки

Словари

Сравнения

Логические значения

Сохраняй!

If...elif...else

Комментарии

Твоя собственная функция!

Циклы

Установка Django

Виртуальное окружение

Работаем с virtualenv

Установка Django После запуска virtualenv ты можешь установить Django.Перед этим мы должны удостовериться, что у тебя установлена последняя версия pip — программы, которую мы используем для установки Django.command-line(myvenv) $ python3 -m pip install --upgrade pip Установка библиотек через указание требований Файл с требованиями (requirements) хранит список зависимостей, которые нужно установить с помощью pip install:Для начала создай файл requirements.txt внутри директории djangogirls/, используя текстовый редактор, который ты установила ранее. Просто создай в редакторе новый файл, а затем сохрани его под именем requirements.txt в директории djangogirls/. После этого твоя директория будет выглядеть так:djangogirls└───requirements.txtВ файл djangogirls/requirements.txt нужно добавить такой текст:djangogirls/requirements.txtDjango=3.2.10Теперь выполни команду pip install -r requirements.txt, чтобы установить Django.command-line(myvenv) $ pip install -r requirements.txtCollecting Django

Твой первый проект на Django!

Изменяем настройки Давай внесём изменения в mysite/settings.py. Открой файл в текстовом редакторе, который ты выбрала ранее.Примечание: помни, что settings.py — самый обычный файл. Ты можешь открыть его из своего редактора кода, используя меню «Файл -> Открыть». При этом ты увидишь обычное окно, в котором ты можешь перейти к своему файлу settings.py и выбрать его. Либо ты можешь открыть этот файл, перейдя в директорию проекта djangogirls на твоём рабочем столе и щёлкнув по нему правой кнопкой мыши; затем выбери свой редактор кода из предложенного списка. Важно выбрать именно редактор, поскольку у тебя могут быть установлены программы, которые откроют наш файл, но не позволят его изменить.Было бы неплохо установить корректный часовой пояс на нашем сайте. Перейди к списку часовых поясов википедии и скопируй название своего часового пояса (TZ) (например, Europe/Moscow).В файле settings.py найди строку, содержащую TIME_ZONE, и измени её в соответствии со своим часовым поясом:mysite/settings.pyTIME_ZONE = 'Europe/Moscow'Код языка состоит из сокращённого названия языка, например en для английского или ru для русского, и кода страны, например, ru для России или ch для Швейцарии. Тебе понадобится эта настройка, если ты хочешь, чтобы все встроенные кнопки и уведомления от Django были на твоём языке. Таким образом, надпись на кнопке «Cancel» будет переведена на заданный тобой язык. Django поставляется с большим набором готовых переводов.Измени язык, отредактировав следующую строку:mysite/settings.pyLANGUAGE_CODE = 'ru-ru'Нам также необходимо добавить в настройки информацию о расположении статических файлов (мы познакомимся со статическими файлами и CSS в следующих главах). Спустись в конец файла и после переменной STATIC_URL добавь новую — STATIC_ROOT:mysite/settings.pySTATIC_URL = '/static/'STATIC_ROOT = os.path.join(BASE_DIR, 'static')Когда наcтройка DEBUG имеет значение True, а настройка ALLOWED_HOSTS пуста, имя хост твоего веб-сайта сверяется со списком ['localhost', '127.0.0.1', '[::1]']. Ни одно из значений не будет соответствовать имени хоста на PythonAnywhere при публикации нашего приложения, поэтому нам необходимо изменить следующую настройку:mysite/settings.pyALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']Примечание: В случае если вы используете Chromebook, добавьте следующую строку в конец файла settings.py: MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' Настройка базы данных Существует множество различных баз данных, которые могут хранить данные для твоего сайта. Мы будем использовать стандартную — sqlite3.Она уже выбрана по умолчанию в файле mysite/settings.py:mysite/settings.pyDATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}Чтобы создать базу данных для нашего блога, набери в командной строке следующее: python manage.py migrate (мы должны быть в директории djangogirls, где расположен файл manage.py). Если всё прошло успешно, то ты увидишь следующий результат:command-line(myvenv)

Запуск веб-сервера Ты должна быть в директории, где расположен файл manage.py (в нашем случае — djangogirls). Запустим веб-сервер из командной строки: python manage.py runserver:command-line(myvenv) /djangogirls$ python manage.py runserverЕсли ты работаешь в Windows, и команда падает с ошибкой UnicodeDecodeError, используй вместо неё другую:command-line(myvenv)

Модели Django

Объекты

Модель в Django Зная, что представляет из себя объект, мы можем создать модель Django для записи в блоге.Модель в Django — это объект определённого свойства: он хранится в базе данных. База данных представляет собой совокупность различных данных. Это то место, где ты будешь хранить информацию о своих пользователях, записях в блоге и т.д. Мы будем использовать базу данных SQLite для хранения информации. Это стандартная база данных в Django — её сейчас вполне хватит для наших нужд.Ты можешь представить модель в базе данных как электронную таблицу с колонками (полями) и строками (данными). Создание приложения Для аккуратности мы создадим отдельное приложение в нашем проекте. Очень удобно иметь хорошо организованное рабочее место с самого начала. Для создания приложения нам понадобится набрать следующую инструкцию в командной строке (из директории djangogirls, где находится файл manage.py):Mac OS X и Linux:(myvenv) /djangogirls$ python manage.py startapp blogWindows:(myvenv) C:\Users\Name\djangogirls> python manage.py startapp blogОбрати внимание, что в нашем проекте появилась новая папка blog, которая содержит некоторые файлы. Таким образом, структура нашего проекта будет выглядеть так:djangogirls├── blog│ ├── __init__.py│ ├── admin.py│ ├── apps.py│ ├── migrations│ │ └── __init__.py│ ├── models.py│ ├── tests.py│ └── views.py├── db.sqlite3├── manage.py└── mysite ├── __init__.py ├── settings.py ├── urls.py └── wsgi.pyПосле того, как приложение создано, нам нужно сообщить Django, что теперь он должен его использовать. Мы сделаем это с помощью файла mysite/settings.py. Нам нужно найти INSTALLED_APPS и добавить к списку 'blog', прямо перед ]. Конечный результат должен выглядеть следующим образом:mysite/settings.pyINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog',] Создание модели записи в блоге В файле blog/models.py мы определяем все Модели — модель записи для блога также пойдёт сюда.Открой файл blog/models.py, удали весь текст и вставь на его место следующий код:blog/models.pyfrom django.conf import settingsfrom django.db import modelsfrom django.utils import timezoneclass Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) title = models.CharField(max_length=200) text = models.TextField() created_date = models.DateTimeField(default=timezone.now) published_date = models.DateTimeField(blank=True, null=True) def publish(self): self.published_date = timezone.now() self.save() def __str__(self): return self.titleУбедись, что использовала два символа нижнего подчёркивания (_) с обеих сторон от метода str. Это соглашение часто используется при программировании на Python, и иногда его называют "dunder" (сокращение от англ. "double-underscore").Смотрится страшно, да? Но не волнуйся, мы объясним, что значит каждая строка кода!Строки, начинающиеся с from или import, открывают доступ к коду из других файлов. Так что вместо того, чтобы копировать и вставлять один и тот же код во все файлы, ты можешь сослаться на него при помощи from ... import ....class Post(models.Model): — эта строка определяет нашу модель (объект). class — это специальное ключевое слово для определения объектов. Post — это имя нашей модели, мы можем поменять его при желании (специальные знаки и пробелы использовать нельзя). Всегда начинай имена классов с прописной буквы. models.Model означает, что объект Post является моделью Django, так Django поймет, что он должен сохранить его в базу данных. Дальше мы задаем свойства, о которых уже говорили: title, text, created_date, published_date и author. Чтобы это сделать, нам нужно определиться с типом полей (это текст? число? дата? ссылка на другой объект? например, на пользователя?). models.CharField — так мы определяем текстовое поле с ограничением на количество символов. models.TextField — так определяется поле для неограниченно длинного текста. Выглядит подходящим для содержимого поста, верно? models.DateTimeField — дата и время. models.ForeignKey — ссылка на другую модель. Мы не будем объяснять каждую запятую, поскольку на это уйдет слишком много времени. Ознакомься с официальной документаций Django: если хочешь узнать больше о полях моделей и о том, как определять разные объекты, то эта ссылка может помочь: https://docs.djangoproject.com/en/1.11/ref/models/fields/#field-types.Что насчёт def publish(self):? Это как раз метод публикации для записи, о котором мы говорили. def означает, что создаётся функция/метод, а publish — это название этого метода. Можно изменить имя метода, если хочешь. Существует правило для имён функций: нужно использовать строчные буквы, а пробелы заменять на подчёркивания. Например, метод, вычисляющий среднюю цену, может называться calculate_average_price.Методы часто возвращают что-то. Например, метод __str__. В нашем случае после вызова метода __str__() мы получим текст (строку) с заголовком записи.Также обрати внимание, что оба метода def publish(self): и def __str__(self): внутри класса имеют дополнительный отступ. Поскольку в Python важны отступы, нам необходимо использовать их для методов внутри класса — иначе методы не будут принадлежать к классу, и при запуске программы может получиться что-то неожиданное.Если тема моделей тебе до сих пор непонятна — не стесняйся обратиться к тренеру! Мы знаем, что она действительно сложна, особенно когда ты изучаешь параллельно объекты и функции. Но мы надеемся, что всё это больше не кажется тебе магией! Создаём таблицы моделей в базе данных Последним шагом будет добавление нашей модели в базу данных. Сначала мы должны дать Django знать, что сделали изменения в нашей модели (мы её только что создали!). Набери python manage.py makemigrations blog. Должно получиться примерно так:command-line(myvenv) /djangogirls$ python manage.py makemigrations blogMigrations for 'blog': blog/migrations/0001_initial.py: - Create model PostПримечание: не забудь сохранить отредактированные файлы. Иначе твой компьютер выполнит команду с их предыдущей версией, и могут появиться неожиданные ошибки.Django создал для нас файл с миграцией для базы данных. Набери python manage.py migrate blog, результат должен быть следующим:command-line(myvenv)

Администрирование Django Чтобы добавлять, редактировать и удалять записи, для которых мы только что создали модель, мы используем панель управления администратора Django.Давай откроем файл blog/admin.py и заменим его содержимое на:blog/admin.pyfrom django.contrib import adminfrom .models import Postadmin.site.register(Post)Как ты можешь заметить, мы импортировали (включили) модель Post, которую определили в предыдущей главе. Чтобы наша модель стала доступна на странице администрирования, нам нужно зарегистрировать её при помощи admin.site.register(Post).Хорошо, теперь нам нужно взглянуть на модель Post. Не забудь запустить веб-сервер командой python manage.py runserver. Перейди в браузер и набери адрес http://127.0.0.1:8000/admin/. Ты увидишь страницу авторизации: Чтобы залогиниться, тебе сначала нужно создать суперпользователя (англ. superuser) — пользователя, который имеет полный доступ к управлению сайтом. Вернись к командной строке, набери python manage.py createsuperuser, и нажми Enter.Не забудь: чтобы выполнять команды во время работы сервера, открой новое окно терминала и активируй в нём виртуальное окружение. Мы описывали ввод новых команд в разделе Запуск веб-сервера главы Твой первый проект на Django!.При появлении запроса введи имя пользователя (строчными буквами, без пробелов), адрес электронной почты и пароль. Не беспокойся, если пароль не появляется на экране по мере ввода, так и задумано. Просто напечатай его и нажми Enter, чтобы продолжить. Результат должен выглядеть следующим образом (имя пользователя и почта, соответственно, будут твоими):command-line(myvenv) /djangogirls$ python manage.py createsuperuserUsername: adminEmail address: admin@admin.comPassword:Password (again):Superuser created successfully.Вернись в браузер и войди в систему при помощи имени пользователя и пароля, которые ты только что выбрала. Ты должна попасть в панель управления Django. Перейди к разделу Posts и немного поэкспериментируй с ним. Добавь пять или шесть постов. Не беспокойся о содержании — можешь просто скопировать и вставить текст из этого учебника, чтобы сэкономить время :)Убедись, что выбрала для двух или трёх записей (но не больше) дату публикации. Это пригодится позднее. Если ты хочешь узнать больше об администрировании Django, то ознакомься с этим разделом официальной документации: https://docs.djangoproject.com/en/1.11/ref/contrib/admin/.Сейчас, вероятно, подходящий момент, чтобы порадовать себя кружечкой кофе (или чая), а также съесть чего-нибудь для восполнения энергии. Ты только что создала свою первую модель Django и заслужила перерыв!Публикация в Интернете!Примечание: Эта глава может показаться сложной. Будь упорна, развертывание сайта на сервере является важной частью веб-разработки. Данная глава намеренно расположена в середине учебника для того, чтобы твой наставник смог помочь с таким мудреным процессом, как публикация сайта. Так ты сможешь самостоятельно закончить все главы, даже если время будет поджимать.До настоящего момента твой сайт был доступен только для локального просмотра, теперь же ты узнаешь, как развернуть его на удалённом сервере! Развертывание (deploy) — это процесс публикации приложения в интернете, чтобы люди могли наконец увидеть твое творение :)Как ты уже знаешь, веб-сайт должен располагаться на сервере. Есть много компаний, предоставляющих сервера в интернете. Мы воспользуемся услугами одной из них, с довольно простым процессом публикации: PythonAnywhere. PythonAnywhere бесплатен для маленьких приложений с небольшим числом посетителей, и этого будет для нас более чем достаточно.Другим внешним сервисом, которым мы воспользуемся, будет GitHub — сервис хостинга кода. Существуют и другие похожие сервисы, но практически у каждого программиста есть GitHub аккаунт, теперь будет и у тебя!В итоге твой код будет в трёх местах. На локальном компьютере ты будешь заниматься разработкой и тестированием. Когда результат тебя устроит, ты загрузишь свою программу на GitHub. А твой сайт будет на PythonAnywhere, и ты сможешь обновлять его, просто загружая новую версию кода с GitHub.GitПримечание: если ты уже выполнила установку, незачем повторять её вновь — можешь сразу переходить к следующему разделу и начать создание собственного Git-репозитория.Git — это «система управления версиями», используемая множеством программистов. Эта программа отслеживает изменения, происходящие с файлами, чтобы впоследствии можно было восстановить состояние кода на нужный момент времени. Это немного похоже на функцию отслеживания изменений в Microsoft Word, но куда мощнее.Установка GitWindowsТы можешь загрузить Git с официального сайта git-scm.com. Ты можешь нажимать "дальше, дальше, дальше" на всех этапах установки за исключением одного: на пятом шаге, который называется "Adjusting your PATH environment" (Настройка системной переменной Path), выбери "Use Git and optional Unix tools from the Windows Command Prompt" (Запуск Git и соответствующих Unix утилит через командную строку Windows, нижняя опция). Все остальные настройки можно оставить по умолчанию. Также неплохо будет выбрать опцию "Checkout Windows-style, commit Unix-style line endings".После окончания установки не забудь перезапустить командную строку или PowerShell.OS XDebian и UbuntuFedoraopenSUSEСоздаём Git-репозиторийGit отслеживает изменения определенного набора файлов, который называется репозиторием (сокращенно "репо"). Давайте создадим такой для нашего проекта. Открой консоль и запусти эти команды в папке djangogirls:Примечание: проверь текущий рабочий каталог с помощью команд pwd (OSX/Linux) или cd (Windows) перед инициализацией нового репозитория. Ты должна находиться в директории djangogirls.command-line$ git initInitialized empty Git repository in /djangogirls/.git/$ git config --global user.name "Your Name"$ git config --global user.email you@example.comИнициализировать git-репозиторий придется только один раз за проект (и тебе больше не придется вводить имя пользователя и адрес электронной почты).Git будет отслеживать изменения всех файлов и каталогов в заданной директории, однако некоторые из них мы предпочли бы игнорировать. Для этого нам нужно создать файл .gitignore в корневом каталоге репозитория. Открой редактор и создай новый файл со следующим содержанием:.gitignore*.pyc*

URL-адреса Django

Что такое URL-адрес?

Как URL-адреса работают в Django?

Твой первый URL-адрес в Django!

blog.urls

Представления в Django – время создавать!

blog/views.py

Введение в HTML

Что такое HTML?

Твой первый шаблон!

Head и body

Функция print


Попробуй ввести:

command-line

>>> name = 'Maria'

>>> name

'Maria'

>>> print(name)

Maria

Если просто ввести name, интерпретатор Python вернет строковое представление переменной 'name', которым, в нашем случае, являются буквы M-a-r-i-a, окруженные одинарными кавычками, ''. Когда ты вводишь print(name), Python "печатает" содержание переменной на экран, без кавычек, что удобнее.

Как мы увидим позднее, print() пригодится, когда нам будет нужно печатать что-то изнутри функций или когда мы захотим напечатать что-то на нескольких строчках.

Списки


Помимо строк и целых чисел Python имеет богатую коллекцию других типов объектов. Сейчас мы собираемся представить тебе один из них — list (список). Списки — это именно то, о чём ты подумала: объекты, которые являются списками других объектов :)

Давай начнем с создания списка:

command-line

>>> []

[]

Отлично, это пустой список. Не особенно полезен, да? Давай создадим список лотерейных номеров. Мы не хотим повторять их каждый раз, так что присвоим список переменной:

command-line

>>> lottery = [3, 42, 12, 19, 30, 59]

Замечательно, у нас есть список! Что мы можем с ним сделать? Для начала посмотрим, как много лотерейных номеров в нашем списке. Есть идеи, какую функцию можно использовать для этого? Ты её уже знаешь!

command-line

>>> len(lottery)

6

Точно! len() вернет тебе количество объектов в списке. Удобно, правда? Пожалуй, мы теперь отсортируем его:

command-line

>>> lottery.sort()

Эта команда не возвращает ничего, она просто меняет порядок номеров в списке. Давайте выведем его на экран и посмотрим, что получилось:

command-line


>>> print(lottery)

[3, 12, 19, 30, 42, 59]

Как видишь, номера в списке теперь отсортированы от меньшего к большему. Поздравляем!

Может, нам нужно обратить порядок? Давай сделаем это!

command-line

>>> lottery.reverse()

>>> print(lottery)

[59, 42, 30, 19, 12, 3]

Просто, правда? Если хочешь добавить что-то к своему списку, то можешь воспользоваться этой командой:

command-line

>>> lottery.append(199)

>>> print(lottery)

[59, 42, 30, 19, 12, 3, 199]

Если ты хочешь получить только первый номер в списке, то можешь воспользоваться индексами. Индекс — это номер позиции в списке, на котором находится нужное нам значение. Программисты предпочитают начать считать с 0, так что первому объекту в списке соответствует индекс 0, следующему —1, и так далее. Попробуй ввести:

command-line

>>> print(lottery[0])

59

>>> print(lottery[1])

42

Как видишь, ты можешь обратиться к различным объектам в своем списке, используя имя списка и индекс объекта в квадратных скобках.

Чтобы удалить что-либо из списка, тебе понадобятся индексы, с которыми мы уже разобрались выше, и команда pop(). Давай попробуем закрепить пройденное на примере: мы будем удалять первый элемент из нашего списка.

command-line

>>> print(lottery)

[59, 42, 30, 19, 12, 3, 199]

>>> print(lottery[0])

59

>>> lottery.pop(0)



59

>>> print(lottery)

[42, 30, 19, 12, 3, 199]

Сработало как по маслу!

В качестве дополнительной тренировки попробуй следующие индексы: 6, 7, 1000, -1, -6 и -1000. Можешь предсказать результат? Видишь логику работы?

Ты можешь найти перечень всех методов, относящихся к списку, в этой главе официальной документации Python: https://docs.python.org/3/tutorial/datastructures.html

Словари


Для проходящих руководство дома: этот раздел рассмотрен в видео Python Basics: Dictionaries.

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

command-line

>>> {}

{}

Это показывает, что мы создали пустой словарь. Ура!

Теперь попробуй следующую команду (можешь заменить значения на своё имя, страну и т.д.):

command-line

>>> participant = {'name': 'Ola', 'country': 'Poland', 'favorite_numbers': [7, 42, 92]}

Этой командой ты создала переменную participant с тремя парами ключ/значение:

  • ключ name, указывающий на значение 'Ola' (объект типа строка),

  • ключ country, указывающий на значение 'Poland' (еще одна строка),

  • и ключ favorite_numbers, указывающий на значение [7, 42, 92] (объект типа список с тремя числами внутри).

Значение конкретного ключа можно узнать следующим образом:

command-line

>>> print(participant['name'])

Ola

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

Что случится, если мы спросим у Python значение несуществующего в словаре ключа? Можешь предположить? Давай попробуем и узнаем наверняка!

 command-line

>>> participant['age']

Traceback (most recent call last):

File "", line 1, in

KeyError: 'age'

Смотри, другая ошибка! Эта называется KeyError. Python услужливо напоминает, что ключа 'age' нет в словаре.

Когда стоит использовать словарь, а когда список? Это хороший вопрос для самостоятельного размышления. Сделай предположение перед тем, как читать дальше.


  • Тебе нужна упорядоченная последовательность элементов? Список — наш выбор.

  • Тебе нужны сочетания ключ/значение, чтобы быстро искать значения (по ключу) в дальнейшем? Словарь отлично подойдет.

Словари, как и списки, изменяемы, т. е. они могут быть изменены после того, как были созданы. Ты можешь добавить новые пары ключ/значение в словарь следующим образом:

command-line

>>> participant['favorite_language'] = 'Python'

Так же как в примере со списками, использование функции len() вернёт число пар ключ/значение в словаре. Попробуй сама:

command-line

>>> len(participant)

4

Надеюсь, всё вышеизложенное понятно. :) Готова к новым приключениям со словарями? На следующей строке тебя ждут изумительные вещи.

Ты можешь использовать команду pop() для удаления элементов из словаря. Скажем, ты хочешь удалить элемент с ключом 'favorite_numbers'. Просто набери следующую команду:

command-line

>>> participant.pop('favorite_numbers')

[7, 42, 92]

>>> participant

{'country': 'Poland', 'favorite_language': 'Python', 'name': 'Ola'}

Как видишь, пара ключ/значение с ключом 'favorite_numbers' была удалена.

Помимо этого, ты можешь заменить значение, связанное с уже существующим ключом. Набери:

command-line

>>> participant['country'] = 'Germany'

>>> participant

{'country': 'Germany', 'favorite_language': 'Python', 'name': 'Ola'}

Значение, на которое ссылается ключ 'country', изменилось с 'Poland' на 'Germany'. :) Захватывает? Ещё бы! Ты выучила еще одну потрясающую штуку!

Подведём итог


Шикарно! Теперь ты знаешь немало о программировании. Мы познакомились с:

  • ошибками — теперь ты знаешь как читать и анализировать ошибки, которые возникают, если Python не понимает твоей команды;

  • переменными — именами для объектов, которые упрощают твой код и делают его более читабельным;

  • списками — последовательностями объектов в заданном порядке;

  • словарями — объектами, хранящими пары ключ/значение.