OwlCoder
Начало разработки с django
Всё что здесь описывается делается на операционной системе linux с третьей версией питона
для того, чтобы начать проект вводим
mkdir test1 && cd test1
Создаём виртуальное окружение, чтобы не засорять общее. Плюсом виртуального окружения так же является удобство развёртывания приложения. Если у вас не установлен virtualenv, его можно установить следующей командой sudo apt install virtualenv. После установки виртуального окружения, мы можем активировать его командой source.
virtualenv venv --python=python3 source venv/bin/active
Устанавливаем django
pip install django
После установки у нас станет доступна команда django-admin. Для создания структуры проекта пишем
django-admin startproject test1 .
, где test1 - название текущего проекта/папки, а точкой мы обозначаем что проект нужно создать в текущей папке. В противном случае можно вместо точки написать название директории и тогда проект установится во вложенной папке.
Миграции
Приложение, написанное на django обычно использует механизм миграций. Миграции - это определённые инструкции как меняется база данных. Механизм изменения базы данных через миграции позволяет держать схему базы данных синхронной на нескольких компьютерах.
Рассмотрим пример.
Вы сделали миграцию - добавляете таблицу статей. После того как вы применили миграцию (создали таблицу) вы получаете на локальной машине какое-то состояние (текущая схема базы данных). Чтобы скопировать это состояние на сервер без миграций - Вам пришлось бы вручную выполнять тот же самый скрипт создания таблицы на сервере, но с механизмом миграций вы просто запускаете команду ./manage.py migrate и таблицы создаются автоматически.
По умолчанию django работает с базой данных sqlite. В django можно использовать различные базы данных и зачастую Вам не нужно будет дописывать какой-то код. Если вы не делали запросов к базе данных вручную (sql кодом), то можно просто сменить драйвер и перейти на другую базу данных. Одна из самых популярных баз данных, которую используют при строительстве django приложений - postgresql. В этой статье мы будем использовать базу данных по умолчанию.
Перед началом работы django должен создать ряд таблиц для базового функционала, такого как хранение пользователей в таблице, управление правами доступа и прочий функционал. Для этих таблиц в django уже есть миграции. Вы их не увидите в папках своего проекта, т.к. они хранятся в папках фреймворка. Возможно в будущих статьях мы будем разбирать как устроен фреймворк и вы увидите эти файлы миграций. Всё что нужно знать сейчас - эти миграции будут выполнены после первого запуска команды.
./manage.py migrate
Имейте ввиду, что django сразу создаст базу данных sqlite, которая находится в корне проекта под название db.sqlite3. В этой базе он создаёт необходимые ему таблицы, которые мы обсудим в других статьях.
Приложения
Изначально при создании проекта в django мы получаем голую структуру без приложений. Приложения в django - это отдельные модули. Приложением может быть форум, или блог, или какой-то отдельный функционал. Так один проект может иметь несколько модулей (приложений). Обычно в каждом проекте у менять есть одно главное приложение - main. Я использую его для общих моделей и общего функционала. Для создания базового приложения пишем
./manage.py startapp main
Мы можем так же создать приложение до миграции.
Запуск сервера
Вводим команду
./manage.py runserver
Команда запустит проект по адресу http://localhost:8000/. Вы можете проверить это перейдя по этому адресу в Вашем любимом браузере.
Видео
Продолжение следует...