Skip to content

Latest commit

 

History

History
212 lines (141 loc) · 9.46 KB

File metadata and controls

212 lines (141 loc) · 9.46 KB

Модуль 1. Урок 2. Создание первого проекта Django и знакомство с архитектурой MTV

Django — это мощный фреймворк, который помогает создавать полноценные веб-приложения всего за несколько шагов. В этом уроке мы разберём, как установить Django, создать первый проект, понять его структуру и разобраться, как устроена архитектура MTV, лежащая в основе каждого Django-приложения.


1. Установка Django

Перед началом убедитесь, что у вас установлен Python (версия 3.10 или выше).

Откройте терминал (или встроенный терминал в VS Code) и выполните команду:

pip install django

Эта команда скачает и установит последнюю стабильную версию Django.

Проверить, всё ли установлено правильно, можно так:

django-admin --version

Если вы увидели номер версии — установка прошла успешно.


2. Создание нового проекта

Теперь создадим первый Django-проект. Выполните команду:

django-admin startproject cinemahub

Здесь cinemahub — это имя вашего проекта. Вы можете выбрать любое другое, например blog, crm, store и т.д.

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

cinemahub/
    manage.py
    cinemahub/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

Разберём, что здесь находится.


3. Структура Django-проекта

Основные элементы проекта Django:

  • manage.py — универсальный инструмент для управления проектом. С его помощью мы запускаем сервер, создаём приложения, выполняем миграции и тесты.

  • settings.py — главный файл настроек проекта (о нём подробнее ниже).

  • urls.py — отвечает за маршрутизацию (то есть связывает адреса страниц с функциями, которые их обрабатывают).

  • asgi.py / wsgi.py — точки входа для работы с сервером (используются при развертывании проекта).

  • __init__.py — служебный файл, указывающий Python, что это пакет.


4. Запуск локального сервера

Перейдите в папку проекта:

cd cinemahub

Теперь запустите тестовый сервер:

python manage.py runserver

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

Starting development server at http://127.0.0.1:8000/

Откройте этот адрес в браузере — появится приветственная страница Django. Это означает, что проект успешно создан и работает 🎉


5. Архитектура MTV — сердце Django

Django построен на архитектурном паттерне MTV (Model–Template–View), который очень похож на классическую модель MVC (Model–View–Controller).

Компонент В MVC называется Что делает
Model Model Отвечает за данные и работу с базой данных
Template View Отвечает за внешний вид страниц (HTML-шаблоны)
View Controller Логика обработки запросов, связывает модель и шаблон

Проще говоря:

  • Model — описывает данные (например, таблицы в базе).
  • Template — описывает, как эти данные будут отображаться.
  • View — решает, какие данные нужно получить и какой шаблон отобразить пользователю.

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


6. Настройки проекта (файл settings.py)

Файл settings.py — это центр управления проектом. В нём указаны все важные параметры: базы данных, установленные приложения, язык, часовой пояс, пути к статическим файлам и многое другое.

Ключевые элементы, на которые стоит обратить внимание:

  • INSTALLED_APPS — список приложений, подключённых к проекту. Здесь регистрируются как системные, так и пользовательские приложения.

  • DATABASES — настройки базы данных. По умолчанию используется SQLite, лёгкая база, не требующая отдельного сервера. Позже мы заменим её на PostgreSQL — базу, подходящую для реальных проектов.

  • DEBUG — параметр, отвечающий за отладку. При DEBUG = True сервер показывает подробные ошибки. В боевых проектах это значение всегда False.

  • ALLOWED_HOSTS — список доменов, с которых разрешено открывать сайт (для локальной разработки можно оставить пустым).

  • LANGUAGE_CODE и TIME_ZONE — язык и часовой пояс проекта.


7. Создание первого приложения

Django-проект состоит из отдельных приложений, каждое из которых отвечает за свою функциональность. Например:

  • одно приложение может управлять пользователями,
  • другое — заказами,
  • третье — новостями.

Создадим приложение командой:

python manage.py startapp movies

После выполнения команды появится новая папка:

movies/
    admin.py
    apps.py
    models.py
    tests.py
    views.py

Теперь зарегистрируем приложение в проекте. Откройте settings.py и добавьте его в список INSTALLED_APPS:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'movies.apps.MoviesConfig',  # наше приложение
]

Готово! Теперь Django “знает” о существовании вашего приложения.


Практика

  1. Установите Django и создайте проект с именем blogsite.
  2. Запустите локальный сервер и убедитесь, что он работает.
  3. Создайте приложение posts и зарегистрируйте его в settings.py.
  4. Найдите файл settings.py и попробуйте изменить часовой пояс (TIME_ZONE) на свой регион.
  5. Изучите структуру вашего проекта — какие файлы уже есть и за что каждый отвечает.
  6. Ответьте себе на вопрос: чем архитектура MTV отличается от MVC?

Вопросы

  1. Что делает команда django-admin startproject?
  2. За что отвечает файл manage.py?
  3. Что делает команда python manage.py runserver?
  4. Чем отличаются Model, Template и View в архитектуре MTV?
  5. Какое значение имеет параметр DEBUG в настройках проекта?
  6. Что такое INSTALLED_APPS и зачем туда добавлять свои приложения?
  7. Какая база данных используется по умолчанию в Django?
  8. В чём основное отличие архитектуры MTV от MVC?

Предыдущий урок | Следующий урок