Хостинг Django без своего сервера

Django-проект готов, а разбираться в серверах, wsgi и nginx не хочется? Подключите репозиторий - Dada Cloud увидит django в requirements.txt, соберёт проект и запустит. PostgreSQL создаётся рядом, HTTPS-домен выдаётся сразу. Бесплатный тариф, серверы в России.

Почему Django деплоят в Dada Cloud

Автоопределение Django

Платформа находит django в requirements.txt и собирает проект сама - без Dockerfile и настройки wsgi-сервера вручную.

PostgreSQL для проекта

Managed-база создаётся рядом, DATABASE_URL появляется в переменных окружения - остаётся указать её в settings.py.

HTTPS-домен сразу

Проект получает адрес вида имя.dada-tuda.ru с сертификатом. Не забудьте добавить его в ALLOWED_HOSTS.

Порт-контракт простой

Приложение должно слушать 0.0.0.0 и порт из переменной PORT, по умолчанию - 8000.

Упало - поднимется само

Процесс перезапускается автоматически после падения.

Бесплатный тариф для старта

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

Как задеплоить Django-проект

Шесть шагов от репозитория до рабочего адреса — включая базу, статику и миграции.

01

Проверьте зависимости

В requirements.txt должен быть django — по нему платформа опознаёт проект и берёт стандартный порт 8000. Добавьте туда же gunicorn и, при необходимости, dj-database-url с whitenoise.

02

Создайте приложение и подключите код

Укажите имя приложения и подключите GitHub-репозиторий — либо загрузите zip-архив, если git не используете. Каждый пуш будет собирать новую версию.

03

Создайте PostgreSQL рядом

Managed-база поднимается в один клик, DATABASE_URL появляется в переменных окружения. В settings.py прочитайте её — например через dj-database-url.

04

Задайте переменные окружения

SECRET_KEY, DEBUG=False и список доменов задаются в консоли. Выданный адрес обязательно добавьте в ALLOWED_HOSTS, иначе Django ответит ошибкой 400.

05

Настройте запуск: миграции, статика, gunicorn

Команда старта вида manage.py migrate --noinput && manage.py collectstatic --noinput && gunicorn проект.wsgi --bind 0.0.0.0:$PORT закрывает все три задачи разом. Платформа выполняет её как есть.

06

Откройте адрес и подключите домен

Через 1-2 минуты проект доступен по HTTPS-адресу вида имя.dada-tuda.ru. Свой домен добавляется за пару минут, сертификат выпускается автоматически.

Сколько стоит хостинг Django

Реальные тарифы платформы и честное сравнение с арендой своего VPS.

ТарифЦенаЧто входит
Free0 ₽/месОдин проект с базой и доменом, без привязки карты. Ограничение — по объёму ресурсов, а не по сроку.
Startup990 ₽/мес5 приложений, 2 базы данных, бэкапы 7 дней — сайт с реальными пользователями плюс воркер Celery.
Business2 900 ₽/мес20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка.
Свой VPSсравнимо по железуVPS дешевле по железу. Но gunicorn под systemd, nginx, сертификаты, бэкапы базы и перезапуск после падения — это ваше время.

Что важно знать заранее

Три места, где Django-деплой обычно спотыкается.

ALLOWED_HOSTS обязателен

Django отвечает ошибкой 400 на домен, которого нет в ALLOWED_HOSTS. Добавьте туда и выданный адрес вида имя.dada-tuda.ru, и свой домен, если подключаете его.

Медиафайлы не переживают редеплой

MEDIA_ROOT на локальном диске очищается при новой сборке. Пользовательские загрузки храните в объектном хранилище, на диск приложения кладите только собранную статику.

Миграции не запускаются сами

Платформа не угадывает, когда накатывать схему. Впишите manage.py migrate в команду запуска — тогда каждый деплой приводит базу в актуальное состояние.

Хостинг Django - частые вопросы

Куда задеплоить Django-проект, если не разбираюсь в серверах?

В Dada Cloud: подключаете репозиторий, платформа сама определяет Django, собирает и запускает проект. Настраивать сервер, wsgi и nginx не нужно.

Как подключить базу данных к Django?

Создайте managed PostgreSQL рядом с проектом - платформа прокинет DATABASE_URL в переменные окружения, останется прочитать её в settings.py (например через dj-database-url).

Что с ALLOWED_HOSTS и портом?

Добавьте выданный домен в ALLOWED_HOSTS, а приложение запускайте на 0.0.0.0 и порту из переменной окружения PORT (по умолчанию 8000).

Как запускать миграции?

Как привыкли - manage.py migrate при старте приложения или вручную. Платформа не вмешивается в ваш код запуска.

Есть бесплатный хостинг для Django?

Да, первый проект с PostgreSQL и доменом можно держать на бесплатном тарифе без привязки карты.

Что делать со статикой и collectstatic?

Соберите статику при сборке или при старте (manage.py collectstatic --noinput) и раздавайте её через WhiteNoise — это одна зависимость и одна строка в MIDDLEWARE. Медиафайлы пользователей кладите в объектное хранилище: локальный диск при новом деплое очищается.

Нужен ли gunicorn?

Да, для боевого запуска: пропишите gunicorn в requirements.txt и стартуйте командой gunicorn проект.wsgi --bind 0.0.0.0:$PORT. Встроенный runserver предназначен для разработки и под нагрузкой не годится.

Где хранить SECRET_KEY и DEBUG?

В переменных окружения приложения — они задаются в консоли и попадают в процесс при старте. В settings.py читайте их через os.environ, в репозиторий секреты класть не нужно.

Как работает Celery и фоновые задачи?

Воркер Celery заводится как отдельное приложение в режиме «фоновый воркер» — публичного домена ему не выдаётся. Веб-часть и воркер живут в одном проекте и видят одну и ту же базу.

Дайте вашему коду адрес

Создайте аккаунт и разверните первое приложение. План Free — 0 ₽.

Создать аккаунт