Django: пошаговая инструкция создания проекта с нуля

Django: пошаговая инструкция создания проекта с нуля
На чтение
191 мин.
Просмотров
44
Дата обновления
27.02.2025
#COURSE##INNER#

Django: Создание проекта с нуля – пошаговая инструкция

Django: Создание проекта с нуля – пошаговая инструкция

Если вы хотите создать полноценный веб-сайт на Python, то, скорее всего, сразу же обратили внимание на фреймворк Django. Это популярный инструмент для создания веб-приложений, который облегчает разработку и обеспечивает надежную безопасность. Но как начать работу с Django и создать свой первый проект?

В этой статье мы предоставим пошаговую инструкцию по созданию проекта на Django. Вы сможете следовать ей, даже если у вас нет опыта работы с этим фреймворком или языком программирования Python в целом. Будьте готовы к тому, что вы научитесь создавать базовый веб-сайт и настраивать его работу на локальном сервере.

Прежде чем мы начнем, убедитесь, что вы установили Python на свой компьютер и настроили его переменные среды. А также убедитесь, что вы установили сам Django, используя менеджер пакетов Python pip.

Что такое Django

Django – это свободный фреймворк для веб-приложений на языке Python. Он используется для разработки высокопроизводительных веб-сайтов, в том числе и для поддержки веб-приложений.

Джанго нацелен на повышение эффективности и ускорение разработки веб-приложений, предоставляя программистам готовые компоненты, необходимые для создания приложений. В состав фреймворка входят множество библиотек, инструментов и шаблонов, которые облегчают работу программиста.

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

Вместо построения веб-сайтов «с нуля», Django позволяет разработчикам сосредоточиться на более сложных задачах, таких как работа со сложными базами данных и масштабирование веб-приложений.

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

Краткое описание

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

Начать работу с Django можно с создания нового проекта. Для этого необходимо выполнить несколько шагов: установить фреймворк Django, создать новый виртуальный окружение и установить необходимые зависимости. Затем можно создать новый проект используя команду django-admin startproject. Помимо этого, необходимо настроить базу данных и запустить локальный сервер для тестирования сайта.

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

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

Установка Django

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

Существует несколько способов установки Django:

  • Установка с помощью pip
  • Установка из исходных файлов
  • Установка с помощью пакетного менеджера операционной системы (например, apt-get для Ubuntu)

Самый простой способ установки Django - использование pip. Откройте командную строку и введите следующую команду:

pip install django

Данный метод установки удобен тем, что позволяет автоматически установить все необходимые зависимости.

Если вы предпочитаете установить Django из исходных файлов, необходимо скачать последнюю версию с официального сайта разработчика и затем установить, используя команду:

python setup.py install

Также возможна установка с помощью пакетного менеджера операционной системы. Например, для Ubuntu это будет выглядеть следующим образом:

sudo apt-get install python-django

После установки можно проверить версию Django, введя в командной строке:

django-admin --version

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

Загрузка и установка Python

Python – это язык программирования общего назначения, который поддерживает объектно-ориентированный, функциональный и императивный стили программирования. Для работы с фреймворком Django необходимо установить интерпретатор Python.

Для загрузки и установки Python следует перейти на официальный сайт языка. На главной странице есть раздел загрузки. Для Windows можно выбрать между установочным файлом .msi и .exe. Лучше выбрать установочный файл, так как он содержит все необходимые зависимости.

Для работы на Mac OS X, можно установить Python через Homebrew, специальный инструмент управления пакетами для этой операционной системы, который упрощает процесс установки необходимого программного обеспечения. Для этого нужно запустить терминал и выполнить команду:

brew install python3

Если вы работаете на Linux, вероятнее всего, Python уже установлен в системе, но его версия может быть устаревшей. Для установки последней версии можно выполнить команды:

  • sudo apt-get update
  • sudo apt-get install python3

После установки Python можно проверить успешность установки, открыв терминал и введя команду:

python --version

Если версия Python была выведена на экран, значит установка прошла успешно и можно переходить к установке фреймворка Django.

Установка Django

Для начала работы с Django необходимо установить его на свой компьютер. Для этого нужно выполнить несколько простых шагов.

Первым шагом является установка Python, так как Django является фреймворком для данной программы. Необходимо убедиться, что на компьютере установлена версия Python, не ниже 3.6.

После установки Python, можно начинать установку Django. Нужно открыть командную строку и в ней ввести команду:

pip install django

Данная команда установит Django из репозитория Python. Если же вы хотите установить конкретную версию Django, то можно воспользоваться командой:

pip install django==номер_версии

После выполнения команды Django будет установлен на компьютер. Для проверки корректности установки можно выполнить команду django-admin --version. Если все установлено корректно, то в ответ на команду отобразится номер установленной версии Django.

Создание проекта

Для создания Django-проекта необходимо выполнить несколько шагов:

  1. Установить Django. Для этого необходимо выполнить команду pip install Django. Важно проверить, что Python установлен и доступен из командной строки.
  2. Создать Django-проект. Для этого нужно воспользоваться командой django-admin startproject [project name]. Здесь в квадратных скобках указывается имя проекта.
  3. Настроить базу данных. Для этого нужно открыть файл settings.py, и внести изменения в блок DATABASES. Необходимо указать тип базы данных и её параметры, например имя, пароль, хост.
  4. Создать приложение. Django-приложения позволяют разбивать большие проекты на отдельные компоненты. Для создания приложения нужно выполнить команду python manage.py startapp [app name]. Необходимо убедиться, что текущая директория проекта.
  5. Создать модель. Django-модели – это классы, которые описывают структуру базы данных. Для создания модели нужно создать файл models.py в директории приложения и описать класс модели.
  6. Создать миграции. Миграции – это способ описания изменений в базе данных, таких как добавление новых таблиц и полей. Для создания миграций нужно выполнить команду python manage.py makemigrations, затем применить их к базе данных с помощью python manage.py migrate.
  7. Запустить сервер. Для запуска сервера нужно выполнить команду python manage.py runserver. После этого проект будет доступен по адресу http://127.0.0.1:8000/

Создание Django-проекта может потребовать некоторого времени и труда, но благодаря этому фреймворку разработка веб-приложений становится более простой и удобной.

Инициализация проекта

Для начала работы с Django необходимо инициализировать проект. Для этого необходимо открыть терминал или командную строку и ввести следующую команду:

django-admin startproject имя_проекта

где имя_проекта – название проекта, которое вы выбрали.

После ввода команды Django создаст базовую структуру проекта, включая файлы настроек, маршрутов и приложений. Основные файлы для начала работы – settings.py и urls.py.

Чтобы проверить, что проект успешно инициализирован, необходимо запустить локальный сервер командой:

python manage.py runserver

Если сервер запущен без ошибок, в терминале отобразится сообщение о том, что проект успешно запущен на локальном сервере по адресу http://127.0.0.1:8000/.

Теперь вы готовы продолжить работу с вашим Django-проектом!

Создание базы данных

Создание базы данных

Создание базы данных для проекта Django – ключевой шаг в его разработке. Для этого необходимо выполнить несколько простых действий.

Шаг 1. Настройка базы данных

Первым делом нужно настроить базу данных в файле settings.py. Для этого нужно определить настройки, используя параметры, которые передаются в функцию DATABASES.

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql',

'NAME': 'mydatabase',

'USER': 'mydatabaseuser',

'PASSWORD': 'mypassword',

'HOST': '127.0.0.1',

'PORT': '5432',

}

}

Шаг 2. Миграции

После того, как база данных была настроена, нужно выполнить миграции. Для этого наберите команду в терминале:

python manage.py makemigrations

python manage.py migrate

Шаг 3. Работа с моделями

После настройки базы данных и выполнения миграций, необходимо определить модели. Модель – это описание объекта, который будет сохранен в базе данных.

Для работы с моделями в Django используется ORM (Object-Relational Mapping) – технология, которая позволяет работать с базой данных, как с объектами.

Шаг 4. Создание суперпользователя

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

python manage.py createsuperuser

После выполнения этих шагов база данных готова к использованию.

Запуск сервера

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

  1. Откройте терминал или командную строку.
  2. Перейдите в директорию, где располагается ваш проект.
  3. Введите команду python manage.py runserver.

При успешном запуске сервера, вы увидите сообщение: "Starting development server at http://127.0.0.1:8000/" (где 8000 – номер порта, на который сервер привязан).

Откройте ваш любимый браузер и введите в адресной строке "http://127.0.0.1:8000/". Вы увидите главную страницу вашего проекта.

Если вы внесли изменения в код проекта, то сервер автоматически перезапустится, чтобы отобразить эти изменения. Изменения в файле settings.py или urls.py требуют ручного перезапуска сервера.

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

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

В Django каждый проект может содержать несколько приложений. Приложения позволяют создавать модульную структуру проекта, где каждое приложение выполняет свою определенную функцию.

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

python manage.py startapp app_name

Где app_name – название нового приложения, которое вы сами придумываете. После выполнения этой команды в корневой директории проекта появится новая директория с названием app_name, в которой будут находиться все файлы нового приложения.

Обратите внимание, что созданное приложение нужно добавить в список INSTALLED_APPS в файле settings.py проекта, чтобы Django знал о его существовании:

settings.py

INSTALLED_APPS = [

...

'app_name',

]

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

Посмотрим, как добавить новые модели в созданное приложение. Для этого нужно открыть файл models.py, который находится в директории приложения, и определить необходимые модели:

models.py

from django.db import models

class MyModel(models.Model):

field1 = models.CharField(max_length=100)

field2 = models.IntegerField()

После определения модели необходимо сделать миграцию базы данных, чтобы создать таблицы для новых моделей:

python manage.py makemigrations app_name

После этого нужно применить миграции:

python manage.py migrate

Теперь можно использовать созданные модели в приложении.

Создание приложения

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

Для создания нового приложения вам необходимо использовать следующую команду в терминале:

python manage.py startapp ИМЯ_ПРИЛОЖЕНИЯ

Где «ИМЯ_ПРИЛОЖЕНИЯ» должно быть заменено на имя, которое вы хотите использовать для своего нового приложения. После выполнения этой команды вам будет создана новая папка с тем же именем, в которой будут храниться все файлы и папки приложения.

После создания приложения, необходимо добавить его в список установленных приложений Django. Вы можете сделать это, открыв файл settings.py в директории проекта и дописав имя приложения в список INSTALLED_APPS. Например:

  1. Откройте файл settings.py в вашем проекте.
  2. Найдите список INSTALLED_APPS.
  3. Добавьте имя вашего нового приложения в список, разделяя его запятой от предыдущего элемента. Например:

    INSTALLED_APPS = [

        'django.contrib.admin',

        'django.contrib.auth',

        'django.contrib.contenttypes',

        'django.contrib.sessions',

        'django.contrib.messages',

        'django.contrib.staticfiles',

        'ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ',

    ]

После этого ваше новое приложение будет добавлено в проект, и вы сможете начать работать над его функциональностью.

Работа с моделями:

В Django модель – это класс, который описывает базу данных. Он задает атрибуты для таблиц и их связи. Удобство работы с моделями заключается в том, что при их использовании не нужно знать особенности работы с базами данных, а можно работать с объектами моделей.

Для создания новой модели нужно создать новый класс в файле models.py. Класс наследуется от класса django.db.models.Model. Атрибуты класса определяют колонки базы данных.

Пример создания модели:

from django.db import models

class Article(models.Model):

title = models.CharField(max_length=100, verbose_name='Заголовок')

text = models.TextField(verbose_name='Текст статьи')

pub_date = models.DateField(verbose_name='Дата публикации')

В данном примере модель Article содержит три поля: заголовок, текст и дату публикации статьи.

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

python manage.py makemigrations

python manage.py migrate

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

Работа с моделями помогает ускорить процесс работы с базами данных и не требует значительных знаний в этой области.

Работа с URL-адресами

Обращение к нужной странице в Django происходит через URL-адреса. Это позволяет удобно организовать навигацию между различными страницами.

URL-адреса в Django определяются в файле urls.py, который находится в корневой директории проекта. В этом файле можно указать шаблоны для различных путей и направить их на определенные виды, которые будут обрабатывать запрос.

Чтобы определить URL-адрес в Django, необходимо создать функцию вида, которая будет обрабатывать запрос. Кроме того, необходимо добавить эту функцию в файл urls.py в виде пути, в котором указывается URL-адрес и функция-обработчик запроса.

Для упрощения работы с URL-адресами в Django используется функция reverse, которая позволяет генерировать URL-адреса на основе их имени, что упрощает обслуживание и изменение URL-адресов в проекте.

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

  • Примеры использования URL-адресов и обработки запросов:
    • Путь в urls.py: path('about/', views.about, name='about')
    • Функция вида: def about(request): return render(request, 'about.html')
    • Обращение к странице: http://example.com/about/
    • Путь в urls.py: path('article//', views.article, name='article')
    • Функция вида: def article(request, id): return render(request, 'article.html', {'id':id})
    • Обращение к странице: http://example.com/article/5/

Создание URL-адресов

URL-адреса или адреса страниц являются очень важными элементами веб-разработки. Они объявляют путь к определенной странице или виду. В Django для создания URL-адресов необходимо создать файл urls.py в каждом приложении и определить в нем маршруты.

В Django маршруты можно определить в файле urls.py с помощью функции url(). Она принимает два аргумента: регулярное выражение для сопоставления с URL-адресом и представление, которое будет идентифицировать этот URL-адрес.

Регулярные выражения используются для сопоставления URL-адресов с определенными шаблонами. Выражения могут содержать параметры, которые могут быть переданы в представление для дальнейшей обработки.

Для простоты чтения кода и управления URL-адресами в Django могут быть использованы псевдонимы. Они позволяют сослаться на URL-адреса из разных мест проекта с помощью единственного имени.

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

Работа с параметрами

В Django параметры передаются через URL-адрес. Для того, чтобы Django понимал, какие параметры переданы, нужно указывать их в качестве аргументов в функциях представлений.

Для передачи параметров в URL-адресе используется символ "?". Параметры записываются в формате "ключ=значение", и разделяются символом "&". Например:

http://example.com/?page=2&category=django

В данном случае передаются два параметра: "page" со значением "2" и "category" со значением "django".

Для получения параметров в представлении используется объект request, который имеет свойство GET. Например, чтобы получить значение параметра "page", нужно вызвать:

page = request.GET.get('page')

Если параметр не найден, метод GET.get вернет значение None.

Также можно задать значение параметра по умолчанию:

page = request.GET.get('page', 1)

В данном случае, если параметр "page" не будет найден, значение по умолчанию будет равно 1.

Важно помнить, что передача параметров в URL-адресе может сильно повлиять на безопасность приложения. Никогда не передавайте конфиденциальную информацию в параметрах GET.

Работа с шаблонами

Шаблоны в Django служат для оформления конечных страниц, которые увидит пользователь. Работа с шаблонами позволяет создавать красивые и функциональные веб-страницы.

Основной язык, используемый в шаблонах Django – это HTML. Однако существует специальный синтаксис, позволяющий вставлять переменные и логические операторы прямо в разметку.

В Django использование наследования шаблонов – распространенная практика. Это позволяет создавать общие элементы для всех страниц сайта (например, шапку и подвал) и изменять только необходимые компоненты для каждой отдельной страницы.

  • для вставки переменных в разметку используется конструкция {{ переменная }};
  • для вставки логических операторов – {% if условие %} ... {% else %} ... {% endif %} или {% for элемент in список %} ... {% empty %} ... {% endfor %};
  • для наследования шаблонов используется конструкция {% extends "базовый_шаблон.html" %}.

Шаблоны в Django могут содержать не только HTML-код, но и другие элементы, такие как CSS и JavaScript. Для организации более сложной структуры страницы существует возможность разбить шаблон на несколько файлов.

Также в Django есть специальные теги, позволяющие вставлять URL-адреса, формы, кнопки и другие элементы формы.

В целом, работа с шаблонами в Django обладает большой гибкостью и позволяет создавать удобные и функциональные сайты.

Создание шаблонов

Чтобы создать шаблон в Django, нужно создать файл в папке шаблонов проекта. Это может быть папка проекта (в случае, если вам нужны глобальные шаблоны для всего проекта) или папка приложения.

Когда вы создаете шаблон, обязательно используйте расширение .html.

Внутри шаблона можно использовать теги Django, которые начинаются с двойных фигурных скобок {{ }}. Например, вы можете использовать переменные контекста или циклы для повторяющихся элементов на странице.

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

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

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

Работа с контекстом

Контекст является одним из важных понятий при работе с Django. Контекст - это словарь, который содержит переменные, которые могут использоваться в шаблонах.

Контекст создается в представлениях (views) и передается в шаблон (template). Для этого используется функция render().

Например, мы можем передать в контекст переменную с именем name и значением "John". Для этого в функции render() указываем ключ и значение:

context = {'name': 'John'}

В шаблоне мы можем использовать эту переменную, обращаясь к ней по имени, указанному в контексте:

Привет, {{ name }}!

В данном примере мы используем переменную name внутри тега

и выделяем ее жирным шрифтом с помощью тега .

Также мы можем передать в контекст список или словарь. Например, в контекст можно передать список пользователей и их электронных адресов:

users = [{'name': 'John', 'email': 'john@example.com'},

{'name': 'Kate', 'email': 'kate@example.com'},

{'name': 'Tom', 'email': 'tom@example.com'}]

В шаблоне мы можем использовать цикл for для отображения списка:

    {% for user in users %}

  • {{ user.name }} - {{ user.email }}
  • {% endfor %}

В данном примере мы используем цикл for для отображения списка пользователей. Для каждого пользователя выводим его имя и электронный адрес. Также мы используем тег

    для отображения списка в виде маркированного списка.

    Работа с формами

    В Django работа с формами представляется достаточно простой. Формы могут быть созданы вручную или с помощью Django Forms.

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

    Формы Django создаются с использованием модуля forms, который предоставляет классы поля, позволяющие производить валидацию. В классе формы можно указать правила валидации для каждого поля, а также определить метод отправки формы на сервер. Для отображения форм в шаблонах используется тег form.

    Помимо стандартных типов полей, в Django Forms поддерживается кастомизация. Можно создавать собственные типы полей, наследуясь от базовых классов. Это позволяет создавать формы, содержащие нестандартные поля ввода.

    В целях упрощения работы с формами в Django предусмотрены готовые mixin'ы - классы с методами, дополняющие функциональность класса формы. Они позволяют добавлять кастомные функции в классы форм непосредственно перед их использованием.

    • Django Forms облегчают создание и валидацию форм, а также помогают избежать ошибок ввода данных пользователями.
    • Для создания форм предоставляется модуль forms с базовыми классами.
    • Для простоты работы с формами в Django предусмотрены готовые mixin'ы.
    • Кастомные типы полей могут быть созданы на основе базовых классов.

    Создание форм

    Django позволяет легко создавать формы, которые могут использоваться в представлениях. Для создания форм необходимо определить класс в файле forms.py вашего приложения.

    Класс формы должен наследоваться от класса django.forms.Form и определять поля, которые будут включены в форму.

    Поля могут иметь различные типы, такие как CharField, IntegerField, BooleanField и другие. Кроме этого, можно использовать предопределенные виджеты для полей, например, TextInput или Select.

    После определения класса формы в представлении необходимо создать экземпляр этой формы и передать ее в контекст шаблона. Также нужно добавить проверку на валидность данных формы и обработать запросы на создание или редактирование данных.

    Обычно формы связываются с определенной моделью. В этом случае можно воспользоваться классом ModelForm. Он наследуется от класса Form и автоматически определяет поля на основе модели.

    Работа с запросами POST

    Запрос POST – это метод, который используется для отправки данных на сервер от клиента. В отличие от запроса GET, который отправляет данные через URL-адрес, запрос POST передает данные в теле запроса.

    Чтобы обработать запрос POST в Django, необходимо выполнить несколько шагов:

    • Создать HTML-форму, которая отправляет данные методом POST;
    • Создать представление, которое будет обрабатывать полученные данные;
    • Написать код в представлении для обработки данных и сохранения их в базу данных или выполнения нужных действий;
    • Вывести ответ на экран пользователю.

    Чтобы получить данные из запроса POST в Django, можно использовать объект request.POST. Этот объект содержит данные, переданные через форму в теле запроса.

    Пример:

    Форма

    {% csrf_token %}

    {% if request.method == 'POST' %}

    Привет, {{ request.POST.name }}!

    {% endif %}

    В этом примере мы создали форму, которая отправляет данные методом POST, и обработчик, который выводит приветствие с именем, полученным из запроса.

Вопрос-ответ:

Каковы варианты установки Django?

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

Как создать новый проект Django?

Для создания нового проекта Django необходимо открыть командную строку, перейти в директорию, где вы хотите создать проект, и выполнить команду django-admin startproject название_проекта.

Как настроить базу данных в Django?

Необходимо в файле settings.py указать параметры базы данных в блоке DATABASES, такие как имя базы данных, пользователь и пароль. Затем нужно выполнить команду python manage.py migrate, чтобы создать таблицы базы данных.

Как создать новое приложение в Django?

Для создания нового приложения необходимо выполнить команду python manage.py startapp название_приложения. Затем нужно зарегистрировать новое приложение в INSTALLED_APPS в файле settings.py.

Как запустить сервер Django?

Для запуска сервера нужно выполнить команду python manage.py runserver. По умолчанию сервер будет запущен на порту 8000.

Как связать модели в Django?

Модели можно связывать с помощью полей ForeignKey или ManyToManyField. ForeignKey позволяет связывать одну модель с другой в соответствии с определенными правилами, а ManyToManyField позволяет связывать множество объектов модели с множеством объектов другой модели.

Видео:

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий