NetrunНа главную

Как выложить сайт на Django без сервера

· 4 мин чтения

Обычно, чтобы показать миру сайт на Django, нужно арендовать сервер, поставить на него Python и базу данных, поднять gunicorn, настроить nginx как прокси, отдельно раздать статику, получить SSL-сертификат и не забывать продлевать его. А ещё следить, чтобы процесс не упал ночью. Для портфолио, пет-проекта или первого боевого приложения это слишком много ручной работы.

В Netrun инфраструктура остаётся на нас: вы загружаете код проекта и отвечаете на пару вопросов про секреты, а сборку, запуск, HTTPS и перезапуски платформа берёт на себя. Она сама поймёт, что это Python, и развернёт приложение. Ниже разберём, как подготовить Django-проект и опубликовать его за несколько минут.

  1. Соберите список зависимостей

    Создайте в корне проекта файл requirements.txt и перечислите в нём пакеты, включая сам Django и gunicorn — это сервер, который держит ваше приложение запущенным. Папку venv с установленными библиотеками в архив класть не нужно: Netrun соберёт окружение по этому списку сам.

  2. Разрешите домен в настройках

    В settings.py добавьте в ALLOWED_HOSTS значение ".netrun.io", чтобы Django принимал запросы с вашего будущего адреса. Для самого первого запуска можно временно поставить "*", а потом сузить до своего домена.

  3. Уберите секреты из кода

    SECRET_KEY и строку подключения к базе (DATABASE_URL) не оставляйте прямо в settings.py — читайте их из переменных окружения, то есть из значений, которые задаются снаружи кода. При настройке проекта Netrun спросит эти значения и подставит их как секреты, так что в коде и в архиве они не лежат.

  4. Слушайте порт из окружения

    Не задавайте порт жёстко в коде. Netrun сам пробрасывает нужный порт через переменную окружения (обычно PORT), и команда запуска gunicorn должна брать его оттуда. Так приложение окажется доступным по выданной ссылке без ручной настройки сети.

  5. Не забудьте про статику

    Django раздаёт CSS, скрипты и картинки из собранной папки статики. Убедитесь, что в настройках задан STATIC_ROOT и статика собирается командой collectstatic — тогда стили и изображения будут на месте, а не пропадут на опубликованном сайте.

  6. Загрузите проект и получите ссылку

    Загрузите код ZIP-архивом или импортом из GitHub-репозитория — приватный тоже подойдёт. Ответьте на вопросы про секреты, и Netrun соберёт и опубликует сайт. Прогресс сборки и логи видны в кабинете в реальном времени, а публичная ссылка сразу открывается по HTTPS.

Готово: ваш сайт на Django живёт в интернете по защищённой ссылке, и вам не пришлось трогать ни сервер, ни nginx, ни сертификаты. Если что-то упадёт, Netrun перезапустит проект сам. На бесплатном тарифе сайт засыпает во время простоя и просыпается по первому запросу — тогда первый ответ будет чуть медленнее; для проекта, который должен отвечать без пауз, подойдёт платный тариф с постоянной работой. Попробовать Netrun.