Как выложить сайт на Django без сервера
Обычно, чтобы показать миру сайт на Django, нужно арендовать сервер, поставить на него Python и базу данных, поднять gunicorn, настроить nginx как прокси, отдельно раздать статику, получить SSL-сертификат и не забывать продлевать его. А ещё следить, чтобы процесс не упал ночью. Для портфолио, пет-проекта или первого боевого приложения это слишком много ручной работы.
В Netrun инфраструктура остаётся на нас: вы загружаете код проекта и отвечаете на пару вопросов про секреты, а сборку, запуск, HTTPS и перезапуски платформа берёт на себя. Она сама поймёт, что это Python, и развернёт приложение. Ниже разберём, как подготовить Django-проект и опубликовать его за несколько минут.
Соберите список зависимостей
Создайте в корне проекта файл requirements.txt и перечислите в нём пакеты, включая сам Django и gunicorn — это сервер, который держит ваше приложение запущенным. Папку venv с установленными библиотеками в архив класть не нужно: Netrun соберёт окружение по этому списку сам.
Разрешите домен в настройках
В settings.py добавьте в ALLOWED_HOSTS значение ".netrun.io", чтобы Django принимал запросы с вашего будущего адреса. Для самого первого запуска можно временно поставить "*", а потом сузить до своего домена.
Уберите секреты из кода
SECRET_KEY и строку подключения к базе (DATABASE_URL) не оставляйте прямо в settings.py — читайте их из переменных окружения, то есть из значений, которые задаются снаружи кода. При настройке проекта Netrun спросит эти значения и подставит их как секреты, так что в коде и в архиве они не лежат.
Слушайте порт из окружения
Не задавайте порт жёстко в коде. Netrun сам пробрасывает нужный порт через переменную окружения (обычно PORT), и команда запуска gunicorn должна брать его оттуда. Так приложение окажется доступным по выданной ссылке без ручной настройки сети.
Не забудьте про статику
Django раздаёт CSS, скрипты и картинки из собранной папки статики. Убедитесь, что в настройках задан STATIC_ROOT и статика собирается командой collectstatic — тогда стили и изображения будут на месте, а не пропадут на опубликованном сайте.
Загрузите проект и получите ссылку
Загрузите код ZIP-архивом или импортом из GitHub-репозитория — приватный тоже подойдёт. Ответьте на вопросы про секреты, и Netrun соберёт и опубликует сайт. Прогресс сборки и логи видны в кабинете в реальном времени, а публичная ссылка сразу открывается по HTTPS.
Готово: ваш сайт на Django живёт в интернете по защищённой ссылке, и вам не пришлось трогать ни сервер, ни nginx, ни сертификаты. Если что-то упадёт, Netrun перезапустит проект сам. На бесплатном тарифе сайт засыпает во время простоя и просыпается по первому запросу — тогда первый ответ будет чуть медленнее; для проекта, который должен отвечать без пауз, подойдёт платный тариф с постоянной работой. Попробовать Netrun.