Введение
Django — это бесплатный и открытый фреймворк для разработки веб-приложений на языке Python. Он предоставляет мощные инструменты для разработки полноценных веб-сайтов и веб-приложений. Он позволяет разработчикам создавать приложения быстро и эффективно без потери качества.
Django славится своей универсальностью и мощью в веб-разработке. Это мощный фреймворк для создания приложений на Python, который помогает сократить время разработки с его библиотекой инструментов и модулей. Он также известен своими мощными функциями шаблонизации и автоматического построения URL. Этот фреймворк также обеспечивает хорошую безопасность приложений, так как он автоматически проверяет входящие данные и предотвращает атаки.
Сравнение Django с другими фреймворками
- Flask (Python) Недостатки: приходится писать большую часть кода самому и недостаточно инструментов для больших проектов;
- Ruby on Rails Недостатки: медленный старт, высокая нагрузка на память и высокий порог для входа;
- Pyramid Недостатки: сложная настройка и недостаточно инструментов для больших проектов;
- Laravel (PHP) Недостатки: сложен в конфигурации и нет удобного средства для построения «БД».
PostgreSQL славится своей высокой надежностью и производительностью. Он также имеет расширенные возможности для анализа данных, включая аналитические функции и инструменты для работы с геоспатиализацией. Также существует широкий выбор плагинов, которые могут дополнить его функциональность.
Gunicorn славится своей легкостью использования и высокой производительностью. Это простой диспетчер процессов Python, который позволяет обрабатывать множество запросов на одном сервере. Gunicorn имеет множество встроенных функций, таких как поддержка протокола HTTP/1.1, автоматическое перезапускание и масштабирование воркеров. Он также может использоваться в сочетании с другими веб-фреймворками, такими как Django и Flask.
Nginx — это один из наиболее популярных и надежных веб-серверов. Он прост в установке и настройке, имеет высокую производительность и низкое использование ресурсов, поддерживает веб-приложения и динамические веб-сайты, а также имеет много различных функций, включая отдачу статического контента, проксирование, URL-перенаправление и маршрутизацию. В основном он может быть использован для обработки веб-трафика, а также для обеспечения отказоустойчивости и высокой производительности.
Начало работы
Обновите пакеты ПО.
Установите следующее ПО.
Настройка БД
Выполняем вход в Postgres.
Команда чтобы создать базу данных для проекта.
Создаем «БД», пользователя, а так же произведем оптимизацию нашей «бд» для ускорения ее работы.
База данных была создана, требуется внести изменения по определенным параметрам.
Юзер был успешно создан, и я решил оптимизировать «бд» изменив параметры проделал оптимизацию настроек для ускорения работы нашей «БД».
ALTER ROLE «Yourproject» SET default_transaction_isolation TO 'read committed';
ALTER ROLE «Yourproject» SET client_encoding TO 'utf8';
Эти параметры созданы для того, чтобы дать пользователю учетную запись для подключения к базе данных с паролем.
Далее роль для пользователя будет настроена с временной зоной по умолчанию UTC, изоляцией транзакций по умолчанию «Чтение совершенно» и кодировкой клиента по умолчанию UTF-8.
Выдал права пользователю для администрирования «БД».
Создание рабочей среды для проекта
Эта команда обновляет и устанавливает программу pip и virtualenv. Команда sudo -H позволяет запускать программу от имени пользователя с повышенными правами доступа.
sudo -H pip3 install virtualenv
После установки инструмента «virtualenv», я начинаю формировать область под свой проект.
cd ~/myprojectdir
В каталоге создал виртуальную среду.
virtualenv — это команда, позволяющая создавать изолированные окружения для различных проектов и использовать разные версии библиотек и приложений.
Это позволяет поддерживать одинаковый стек технологий для всех проектов в организации, снижая риск несовместимости и ошибок в работе.
В этом каталоге будет сразу находится локальная версия Python и система управления пакетами.
Перед тем как назначить требования для нашего проекта, нужно запустить виртуальную среду. Прописываем эту команду.
Командная строка изменится, показывая, что теперь вы работаете в виртуальной среде Python.
Как запустили виртуальную среду, установите необходимые компоненты.
Добавление проекта
Для фреймворка уже был создан каталог проекта, требуется указать по какому пути будет проходить инициализация, ведь во втором каталоге располагается подкаталог, внутри которого размещен код со скриптом управления.
После, нужно поменять пару параметров в созданном файле проекта. Открываем файл с настройками через любой текстовый редактор.
Теперь необходимо поменять параметры.
Затем пролистав ниже, находим раздел, который предоставляет пароль, наименование «БД».
Так же ищем строку DATABASES, сконфигурируйте эту строку под свои данные.
Пролистнув ниже, добавьте параметр который укажет где хранить статичные файлы.
Завершающая настройка
Используя скрипты управления переношу схему «БД».
~/yourprojectdir/manage.py migrate
Создал административного пользователя для проекта.
Собрал весь статичный контент в заданном каталоге.
Команду нужно подтвердить. После, все файлы переместятся в каталог «static» проекта.
Так же открываем порт, который будет использоваться для проекта.
Проверка
Проверяем наш проект, перед этим запустив сервер фреймворка.
Переходим в веб браузер для проверки работоспособности фреймворка.
Авторизовавшись на веб-ресурсе, попадаем в панель управления.
Вывод
В этой публикации я разобрал как подготовить систему под операционной системой Ubuntu 20.04 для запуска проекта на Django с базой данных Postgres; веб-сервером Gunicorn и настроенным прокси Ngnix.