Если вы создали портфолио или прототип приложения с помощью Django, бесплатно разместить его на Vercel можно всего за несколько кликов и небольшой фрагмент кода. Раньше Heroku спасал жизни, но в 2022 году он перестал предлагать бесплатный хостинг.
Используя Vercel, вы можете бесплатно развернуть свое приложение прямо из GitHub, и любой может получить к нему доступ из любого места. Вот как это сделать.
Настройте свое приложение Django для Vercel
Вам нужно будет настроить несколько аспектов вашего проекта Django, прежде чем вы сможете развернуть его в Vercel.
Настройте файл vercel.json
Во-первых, вам нужно создать файл vercel.json в корневой папке вашего проекта, чтобы указать Vercel на интерфейс шлюза веб-сервера (WSGI):
{
"строит": [
{
"src": "django_app_name/wsgi.py",
"use": "@vercel/python"
}
],
"маршруты": [
{
"источник": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}
Заменять django_app_name с именем вашего приложения Django (то же, что и папка, содержащая settings.py файл).
Рефакторинг файла wsgi.py
Vercel не распознает приложение переменная в файле wsgi.py. К счастью, единственное изменение, которое вы сделаете, чтобы решить эту проблему, — передать приложение переменная в Vercel как приложение.
Так что рефакторинг вашего приложения wsgi.py файл, как показано:
Импортировать Операционные системы
от django.core.wsgi Импортировать get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.settings")
приложение = get_wsgi_application()
приложение = приложение
Подключиться к удаленной базе данных
Если вашему приложению требуется поддержка базы данных, воспользуйтесь предложением Vercel или разверните где-нибудь экземпляр внешней базы данных. К счастью, есть много бесплатная база данных PostgreSQL варианты онлайн. Вы также можете подключиться к кластеру MongoDB если вы предпочитаете базу данных NoSQL.
Однако здесь мы остановимся на кластере баз данных PostgreSQL от Railway, поскольку он предлагает стартовый кредит и прост в настройке.
Чтобы настроить экземпляр PostgreSQL на Railway:
- Посетить Железнодорожный сайт для создания учетной записи.
- Нажмите Начать новый проект.
- Выбирать Предоставление PostgreSQL.
- Нажмите на Постгрес баннер, чтобы увидеть переменные базы данных и строки подключения.
- Перейти к Переменные вкладка Затем скопируйте и вставьте DATABASE_URL строку в текстовом редакторе, чтобы отформатировать ее. Убедитесь, что вы заменили заполнители в DATABASE_URL строка с соответствующими значениями переменных.
- Скопируйте оставшиеся переменные и настройте базу данных в своем Django. settings.py файл, как показано ниже. Не забудьте заменить имена переменных соответствующими значениями, предоставленными компанией Railway.
БАЗЫ ДАННЫХ = {
'по умолчанию': {
'ДВИГАТЕЛЬ': 'django.db.backends.postgresql',
'URL': 'URL_БАЗА_ДАННЫХ',
'ИМЯ': 'PGDATABASE',
'ПОЛЬЗОВАТЕЛЬ': 'PGUSER',
'ПАРОЛЬ': 'PGPASSWORD',
'ХОЗЯИН': 'PGHOST',
ПОРТ: PGPORT,
}
}
Учитывать маскирование этих секретных переменных используя .env файл, чтобы усилить безопасность вашего приложения Django. Кроме того, Vercel позволяет вам отображать переменные среды во время развертывания.
Итак, как только вы используете os.getenv метод, Python извлекает указанную переменную из среды размещения Vercel. Таким образом, ваша настройка базы данных становится:
БАЗЫ ДАННЫХ = {
'по умолчанию': {
'ДВИГАТЕЛЬ': 'django.db.backends.postgresql',
'URL': os.getenv('POSTGRES_URL'),
'ИМЯ': os.getenv('ИМЯ ПРОГРАММЫ'),
'ПОЛЬЗОВАТЕЛЬ': os.getenv('PGUSER'),
'ПАРОЛЬ': os.getenv('POSTGRES_PASSWORD'),
'ХОЗЯИН': os.getenv('PGHOST'),
ПОРТ: os.getenv('PGPORT),
}
}
Разверните свой репозиторий GitHub на Vercel
Вторая часть этого процесса включает указание Vercel на ваш репозиторий на GitHub. Как только вы это сделаете, ваше приложение будет запущено, и любой сможет получить доступ к вашему веб-сайту по URL-адресу, сгенерированному Vercel.
Создайте файл требований
Vercel пытается найти и установить зависимости вашего проекта внутри требования.txt файл во время развертывания. Однако помните, что запись зависимостей из виртуальная среда в требования.txt всегда проще, чем из глобального пространства.
Создайте файл requirements.txt в корневой папке вашего проекта, используя следующую команду через терминал:
заморозка пипа > требования.txt
Подключите свой репозиторий к Vercel
Vercel отслеживает изменения в репозитории. Таким образом, первым шагом развертывания является отправьте свой код на GitHub или любую другую систему контроля версий, которая лучше всего подходит для вас. Пропустите этот шаг, если ваш код уже есть на GitHub.
Чтобы начать работу с Vercel:
- Зарегистрируйтесь на Веб-сайт Версель используя свою учетную запись GitHub. Следуйте инструкциям на экране, чтобы завершить регистрацию учетной записи, чтобы приступить к работе.
- Затем выберите вариант учетной записи Hobby, чтобы использовать Vercel бесплатно.
- После входа нажмите Добавить новое. Затем нажмите Проект.
- Далее нажмите Добавить учетную запись GitHub из Импорт Git-репозитория раздел. Или вы можете нажать Сменить поставщика Git если вы используете другой контроль версий, кроме GitHub.
- Нажмите Все репозитории. Затем нажмите Установить.
- Выберите свою учетную запись GitHub из списка.
- Vercel автоматически обнаружит ваши репозитории. Нажмите Импортировать справа от того, который несет ваш проект Django.
- Нажмите на Переменные среды раскрывающийся список, чтобы перечислить переменные среды на Vercel. Они могут включать секретный ключ вашего приложения и строки подключения к базе данных. Заполните Имя поле с именем переменной. Затем введите его значение в поле Ценить поле.
- Нажмите Добавлять чтобы создать новое поле и добавить другие переменные среды.
- Наконец, нажмите Развертывать. Ваше приложение должно быть активным в некоторые моменты. Щелкните URL-адрес справа от веб-значка, чтобы перейти на новый веб-сайт.
После развертывания Vercel отслеживает последующие изменения, отправленные в основную ветку, чтобы отразить их в действующей версии. Следовательно, вам нужно только развернуть свои изменения на GitHub, чтобы обновлять приложение в режиме реального времени.
Хотя Vercel автоматически генерирует URL-адрес для вашего веб-сайта Django, вы также можете выполнить развертывание, используя собственное доменное имя. Так что считайте покупка доменного имени у регистратора если он вам нужен.
Разместите свой веб-сайт Django бесплатно
Иногда требуется больше, чем репозиторий GitHub, чтобы произвести впечатление на потенциальных работодателей и клиентов. В то время как надежный и последовательный репозиторий показывает вашу компетентность, демонстрация живой версии вашего портфолио или прототипа проекта представляет вас как человека, достигшего успеха.
Хостинг проекта, который не приносит дохода, часто обескураживает. Но, к счастью, Vercel — одна из немногих бесплатных услуг веб-хостинга. И вы видели, как бесплатно развернуть свой проект Django на платформе. Хотя сгенерированный URL-адрес выглядит неопрятно, вы можете вставить его в файл ReadMe вашего проекта на GitHub, чтобы показать людям, как работает ваше творение.