Начало работы с Django

Начало работы с Django — это установка виртуального окружения, установка пакетов и развертывание первого проекта.

 

Прежде всего подготавливается сервер. Устанавливается виртуальное окружение для того чтобы пакеты использовались только одним сайтом.



В виртуальном окружении фреймворк устанавливается выполнением

pip install Django

Если проект имеет какие-то другие зависимости, что часто бывает, они ставлятся также



После установки можно создавать каталог под приложение и в нем выполнять

django-admin startproject first_project


При установке создается определенная структура и основные скрипты



init.py — сообщает python о том, что текущая директория может быть пакетом

settings.py — скрипт с настройками приложения, нужен для деплоя
urls.py — содержит список url и правила роутинга
wsgi.py — играет роль webserver gateway interface
manage.py — к скрипту нужно обращаться, например, при генерации составляющих проекта (приложений)



Или при запуске сервера

python manage.py startapp first_app



Миграции



Миграции — процесс заполнения средствами фреймворка базы данных той информацией, которая указана в скриптах.

Используются следующие файлы

init.py
admin.py — для регистрации моделей в админском интерфейсе
apps.py — конфигурация специфичная для приложения
models.py — хранит данные модели
tests.py — функции для тестрования кода
views.py — облуживание запросов и возврат ответов

Скрипты views.py и models.py используются обязательно, остальные могут отсутствовать.



Общий аглоритм разворачивания проекта

  1. В файле settings.py указываются установленные приложения (installed apps)
  2. Создается view
  3. Каждому view ставится в соответсвие url



Первый шаг — создание приложения

(django) [[email protected]]# python manage.py startapp first_app


(django) [[email protected]]# ls | grep first

first_app



Прилжение указывается в installed apps


mcedit app/settings.py




Теперь запускаем сервер вручную из консоли


python manage.py runserver

Далее про миграции и наполнение базы данных.