Ако сте създали приложение за портфолио или прототип с Django, хостването му безплатно на Vercel е само с няколко кликвания и малко парче код. Преди Heroku беше спасител, но спря да предлага безплатен хостинг през 2022 г.
С помощта на Vercel можете да внедрите приложението си директно от GitHub безплатно и всеки има достъп до него отвсякъде. Ето как да го направите.
Конфигурирайте вашето приложение Django за Vercel
Ще трябва да конфигурирате няколко аспекта на вашия Django проект, преди да можете да го внедрите във Vercel.
Конфигурирайте файла vercel.json
Първо, трябва да създадете файл vercel.json в главната папка на вашия проект, за да насочите Vercel към интерфейса на шлюза на уеб сървъра (WSGI) на вашето приложение:
{
"строи": [
{
"src": "django_app_name/wsgi.py",
"използване": "@vercel/python"
}
],
"маршрути": [
{
"src": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}
Сменете име_на_приложение django с името на вашето приложение 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()
app = приложение
Свържете се с отдалечена база данни
Ако вашето приложение се нуждае от поддръжка на база данни, използвайте предоставянето на Vercel или завъртете екземпляр на външна база данни някъде. За щастие има много безплатна база данни PostgreSQL опции онлайн. Можете също свържете се с MongoDB клъстер ако предпочитате NoSQL база данни.
Тук обаче ще се придържаме към клъстера от бази данни PostgreSQL на Railway, тъй като той предлага начален кредит и е лесен за настройка.
За да настроите екземпляр на PostgreSQL на Railway:
- Посетете Железопътна линия уебсайт, за да създадете акаунт.
- Кликнете Започнете нов проект.
- Изберете Предоставяне на PostgreSQL.
- Щракнете върху Postgres банер, за да видите променливите на вашата база данни и низовете за връзка.
- Отидете на Променливи раздел. След това копирайте и поставете DATABASE_URL низ в текстов редактор, за да го форматирате. Уверете се, че сте заменили контейнерите в DATABASE_URL низ със съответните стойности на променлива.
- Копирайте останалите променливи и настройте вашата база данни във вашето Django settings.py файл, както е показано по-долу. Не забравяйте да замените имената на променливите с подходящите стойности, предоставени от Railway.
БАЗИ ДАННИ = {
'по подразбиране': {
"ДВИГАТЕЛ": 'django.db.backends.postgresql',
„URL“: „DATABASE_URL“,
„ИМЕ“: „PGDATABASE“,
„ПОТРЕБИТЕЛ“: „PGUSER“,
„ПАРОЛА“: „PGPASSWORD“,
„ДОМАКИН“: „PGHOST“,
„ПОРТ“: PGPORT,
}
}
Обмисли маскиране на тези тайни променливи с помощта на a .env файл, за да подобрите сигурността на вашето приложение Django. Освен това Vercel ви позволява да изброявате променливите на вашата среда по време на внедряването.
Така че след като използвате os.getenv метод, Python извлича указаната променлива от хостинг средата на Vercel. Така настройката на вашата база данни става:
БАЗИ ДАННИ = {
'по подразбиране': {
"ДВИГАТЕЛ": 'django.db.backends.postgresql',
„URL“: os.getenv(„POSTGRES_URL“),
„ИМЕ“: os.getenv(„PGNAME“),
„ПОТРЕБИТЕЛ“: os.getenv(„PGUSER“),
„ПАРОЛА“: os.getenv(„POSTGRES_PASSWORD“),
„ДОМАКИН“: os.getenv(„PGHOST“),
„ПОРТ“: os.getenv(„PGPORT),
}
}
Разположете вашето GitHub хранилище на Vercel
Втората част от този процес включва насочване на Vercel към вашето хранилище в GitHub. След като го направите, приложението ви ще бъде на живо и всеки може да осъществи достъп до уебсайта ви на URL адрес, генериран от Vercel.
Създайте файл с изисквания
Vercel се опитва да намери и инсталира зависимостите на вашия проект вътре в изисквания.txt файл по време на внедряването. Не забравяйте обаче, че писането на зависимости от a виртуална среда в изисквания.txt винаги е по-лесно, отколкото от глобалното пространство.
Създайте файл requirements.txt в основната папка на вашия проект, като използвате следната команда през терминала:
pip freeze > requirements.txt
Свържете вашето хранилище към Vercel
Vercel работи чрез проследяване на промените в хранилище. Така че първата стъпка на внедряване е да изпратете кода си към GitHub или всяка друга система за контрол на версиите, която работи най-добре за вас. Игнорирайте тази стъпка, ако вашият код вече е в GitHub.
За да започнете с Vercel:
- Регистрирайте се на Уебсайт на 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, за да покажете на хората как работи вашето творение.