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

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

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

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

Добавлен: 16.03.2024

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

Скачиваний: 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

name:

python_intro.py

def hi(name):

if name == 'Ola':

print('Hi Ola!')

elif name == 'Sonja':

print('Hi Sonja!')

else:

print('Hi anonymous!')
hi()

Помни: функция print расположена внутри блока оператора if с отступом в четыре пробела. Это потому, что она запускается тогда, когда выполняется условие. Давай посмотрим, как это работает:

 command-line

$ python3 python_intro.py

Traceback (most recent call last):

File "python_intro.py", line 10, in

hi()

TypeError: hi() missing 1 required positional argument: 'name'

Упс, ошибка. К счастью, Python выдает довольно подробное сообщение об ошибке. Оно говорит нам, что функция hi() (которую мы определили) имеет один обязательный аргумент (name), и мы забыли передать его при вызове функции. Давай исправим это в конце файла:

python_intro.py

hi("Ola")

И запустим ещё раз:

command-line

$ python3 python_intro.py

Hi Ola!

А если мы поменяем имя?

python_intro.py

hi("Sonja")

И повторим:

command-line

$ python3 python_intro.py

Hi Sonja!

Теперь, как ты думаешь, что произойдет, если ты наберешь другое имя? (Не Ola или Sonja) Попробуй сама и проверь, была ли ты права. Результат должен быть таким:

command-line

Hi anonymous!

Шикарно, верно? Так тебе не придется повторяться каждый раз, когда ты захочешь изменить имя. И это именно та причина, для которой нам и нужны функции — ты никогда не захочешь повторять свой код!

Давай попробуем что-то похитрее — существует немало имён, и писать условие для каждого будет тяжело, правда?

python_intro.py

def hi(name):

print('Hi ' + name + '!')
hi("Rachel")


Давай выполним этот код:

command-line

$ python3 python_intro.py

Hi Rachel!

Поздравляем! Ты только что научилась писать свои собственные функции :)

Циклы


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

Ну вот и последняя часть. Быстро время пролетело, верно? :)

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

Еще помнишь о списках? Давай создадим список девушек:

python_intro.py

girls = ['Rachel', 'Monica', 'Phoebe', 'Ola', 'You']

Мы хотим поздороваться с каждой по имени. У нас есть функция hi, которая этим и занимается, так что давай поместим её в цикл:

python_intro.py

for name in girls:

Оператор for работает по схожему принципу что и if; в коде после обоих операторов должен быть отступ в четыре пробела.

Ниже полный код, который должен быть у нас в файле:

python_intro.py

def hi(name):

print('Hi ' + name + '!')
girls = ['Rachel', 'Monica', 'Phoebe', 'Ola', 'You']

for name in girls:

hi(name)

print('Next girl')

И после запуска:

command-line

$ python3 python_intro.py

Hi Rachel!

Next girl

Hi Monica!

Next girl

Hi Phoebe!

Next girl

Hi Ola!

Next girl

Hi You!

Next girl

Как ты можешь заметить, все команды внутри цикла for (с отступом от левого края) будут выполняться для каждого элемента списка girls.

Ты также можешь использовать цикл for с числами с помощью функции range:

python_intro.py

for i in range(1, 6):


print(i)

Что выведет на экран:

command-line

1

2

3

4

5

Функция range создает список чисел, следующих от первого до второго с заданным шагом (начало, конец и шаг мы передаем функции как параметры; если шаг не указать, как в примере выше, он будет по умолчанию равен 1).

Обрати внимание, что второе число (конец списка) не включается в результат работы функции (range(1, 6) создает список от 1 до 5, не включающий 6). Это потому, что «range» — полуоткрытый диапазон, то есть включает в себя первое значение, но не включает последнее.

Установка Django


Примечание: если ты используешь Chromebook, пропусти эту главу, но выполни инструкции по настройке для Chromebook

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

Отдельные части этой главы основаны на учебных пособиях Geek Girls Carrots (https://github.com/ggcarrots/django-carrots).

Отдельные части этой главы основаны на учебном пособии django-marcador, лицензированном под Creative Commons Attribution-ShareAlike 4.0 International License. Руководство django-marcador защищено авторским правом Markus Zapke-Gründemann et al.

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


Перед установкой Django мы попросим тебя установить крайне полезный инструмент, который поможет тебе содержать среду разработки в чистоте. Можно пропустить этот шаг, но мы очень советуем этого не делать. Использование лучших рекомендаций с самого начала убережёт от многих проблем в будущем!

Итак, давай создадим виртуальное окружение (оно также называется virtualenv). Virtualenv будет изолировать настройки Python/Django для каждого отдельного проекта. Это значит, что изменения одного сайта не затронут другие сайты, которые ты разрабатываешь. Удобно, правда?

Всё, что тебе нужно сделать — найти директорию, в которой мы создадим virtualenv; домашний каталог вполне подойдёт. Для Windows адрес будет выглядеть так: C:\Users\Name (где Name — твоё имя пользователя).

Примечание: Если ты работаешь в Windows, удостоверься, что в названии директории нет специальных символов или символов с диакритическими знаками; если в твоём имени пользователя есть такие символы, выбери другую директорию, например, C:\djangogirls.

Мы будем использовать отдельную директорию djangogirls в домашнем каталоге:

command-line

$ mkdir djangogirls

$ cd djangogirls

Мы создадим виртуальное окружение под именем myvenv. В общем случае команда будет выглядеть так:

command-line

$ python3 -m venv myvenv

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

Чтобы создать новое virtualenv, тебе нужно открыть командную строку и набрать python -m venv myvenv. Это будет выглядеть так:

command-line

C:\Users\Name\djangogirls> python -m venv myvenv

Здесь myvenv — имя твоего virtualenv. Ты можешь выбрать другое имя, но используй только строчные буквы, без пробелов и специальных символов. Имя виртуального окружения выбирай покороче — тебе придётся часто его набирать!

Виртуальное окружение: Linux и OS X