Jeśli zbudowałeś portfolio lub prototyp aplikacji za pomocą Django, darmowy hosting w Vercel to tylko kilka kliknięć i mały fragment kodu. Heroku kiedyś ratował życie, ale przestał oferować darmowy hosting w 2022 roku.
Korzystając z Vercel, możesz bezpłatnie wdrożyć swoją aplikację bezpośrednio z GitHub i każdy może uzyskać do niej dostęp z dowolnego miejsca. Oto jak się do tego zabrać.
Skonfiguruj swoją aplikację Django dla Vercel
Będziesz musiał skonfigurować kilka aspektów swojego projektu Django, zanim będziesz mógł wdrożyć go w Vercel.
Skonfiguruj plik vercel.json
Najpierw musisz utworzyć plik vercel.json w folderze głównym projektu, aby wskazać Vercel interfejsowi bramy serwera sieciowego (WSGI):
{
"kompiluje": [
{
"src": "django_nazwa_aplikacji/wsgi.py",
"użyj": "@vercel/python"
}
],
"trasy": [
{
"źródło": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}
Zastępować django_nazwa_aplikacji z nazwą Twojej aplikacji Django (taką samą jak folder zawierający plik ustawienia.py plik).
Refaktoryzuj plik wsgi.py
Vercel nie rozpoznaje aplikacja zmienna w pliku wsgi.py. Na szczęście jedyną zmianą, którą wprowadzisz, aby rozwiązać ten problem, jest zaliczenie aplikacja zmienną do Vercel jako aplikacja.
Więc refaktoryzuj swoją aplikację wsgi.py plik jak pokazano:
import os
z django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.ustawienia")
aplikacja = get_wsgi_application()
aplikacja = aplikacja
Połącz się ze zdalną bazą danych
Jeśli Twoja aplikacja potrzebuje obsługi bazy danych, skorzystaj z udostępniania Vercel lub uruchom gdzieś zewnętrzną instancję bazy danych. Na szczęście jest ich wiele darmowa baza danych PostgreSQL opcje w Internecie. Możesz również połączyć się z klastrem MongoDB jeśli wolisz bazę danych NoSQL.
Jednak tutaj będziemy trzymać się klastra bazy danych PostgreSQL firmy Railway, ponieważ oferuje on kredyt startowy i jest łatwy w konfiguracji.
Aby skonfigurować instancję PostgreSQL na kolei:
- Odwiedzić Kolej żelazna stronę internetową, aby utworzyć konto.
- Kliknij Rozpocznij nowy projekt.
- Wybierać Udostępnij PostgreSQL.
- Kliknij Postgres banner, aby zobaczyć zmienne bazy danych i ciągi połączeń.
- Idź do Zmienne patka. Następnie skopiuj i wklej BAZA DANYCH_URL string do edytora tekstu, aby go sformatować. Upewnij się, że zastąpiłeś symbole zastępcze w BAZA DANYCH_URL string z odpowiednimi wartościami zmiennych.
- Skopiuj pozostałe zmienne i skonfiguruj swoją bazę danych w swoim Django ustawienia.py plik, jak pokazano poniżej. Pamiętaj, aby zastąpić nazwy zmiennych odpowiednimi wartościami dostarczonymi przez Railway.
BAZY DANYCH = {
'domyślny': {
'SILNIK': 'django.db.backends.postgresql',
„Adres URL”: „URL_BAZY DANYCH”,
'NAZWA': „PGBAZA DANYCH”,
'UŻYTKOWNIK': „PGUSER”,
'HASŁO': „PGHASŁO”,
'GOSPODARZ': „PDUCH”,
'PORT': PGPORT,
}
}
Rozważać maskowanie tych tajnych zmiennych używać .env plik, aby zwiększyć bezpieczeństwo aplikacji Django. Poza tym Vercel umożliwia wyświetlanie listy zmiennych środowiskowych podczas wdrażania.
Więc kiedy użyjesz os.getenv metody, Python pobiera określoną zmienną ze środowiska hostingowego Vercel. W ten sposób konfiguracja bazy danych staje się:
BAZY DANYCH = {
'domyślny': {
'SILNIK': 'django.db.backends.postgresql',
„Adres URL”: os.pobierz(„POSTGRES_URL”),
'NAZWA': os.pobierz(„PGNAME”),
'UŻYTKOWNIK': os.pobierz(„PGUSER”),
'HASŁO': os.pobierz(„POSTGRES_HASŁO”),
'GOSPODARZ': os.pobierz(„PDUCH”),
'PORT': os.pobierz('PGPORT),
}
}
Wdróż swoje repozytorium GitHub na Vercel
Druga część tego procesu polega na wskazaniu Vercelowi twojego repozytorium na GitHub. Gdy to zrobisz, Twoja aplikacja będzie działać i każdy będzie mógł uzyskać dostęp do Twojej witryny pod adresem URL wygenerowanym przez Vercel.
Utwórz plik wymagań
Vercel próbuje znaleźć i zainstalować zależności twojego projektu w wymagania.txt plik podczas wdrażania. Pamiętaj jednak, że pisanie zależności z a wirtualne środowisko do wymagania.txt zawsze jest łatwiej niż z przestrzeni globalnej.
Utwórz plik wymagania.txt w folderze głównym projektu, używając następującego polecenia w terminalu:
zamrożenie pip > wymagania.txt
Połącz swoje repozytorium z Vercel
Vercel działa poprzez śledzenie zmian w repozytorium. Tak więc pierwszym krokiem wdrożenia jest wypchnij swój kod do GitHub lub inny system kontroli wersji, który najlepiej Ci odpowiada. Zignoruj ten krok, jeśli Twój kod znajduje się już w serwisie GitHub.
Aby rozpocząć korzystanie z Vercel:
- Zarejestruj się na Witryna firmy Vercel przy użyciu konta GitHub. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby dokończyć rejestrację konta i rozpocząć.
- Następnie wybierz opcję Konto Hobby, aby korzystać z Vercel za darmo.
- Po zalogowaniu kliknij Dodaj nowe. Następnie kliknij Projekt.
- Następnie kliknij Dodaj konto GitHub od Importuj repozytorium Git Sekcja. Możesz też kliknąć Zmień dostawcę Git jeśli używasz innej kontroli wersji niż GitHub.
- Kliknij Wszystkie repozytoria. Następnie kliknij zainstalować.
- Wybierz swoje konto GitHub z listy.
- Vercel automatycznie wykryje Twoje repozytoria. Kliknij Import na prawo od tego, na którym znajduje się twój projekt Django.
- Kliknij Zmienne środowiska rozwijane, aby wyświetlić listę zmiennych środowiskowych w Vercel. Mogą one obejmować tajny klucz aplikacji i parametry połączenia z bazą danych. Wypełnij Nazwa pole z nazwą zmiennej. Następnie wprowadź jego wartość do Wartość pole.
- Kliknij Dodać aby utworzyć nowe pole i dodać inne zmienne środowiskowe.
- Na koniec kliknij Wdrożyć. Twoja aplikacja powinna być aktywna za chwilę. Kliknij adres URL po prawej stronie ikony internetowej, aby odwiedzić nową witrynę.
Po wdrożeniu Vercel śledzi kolejne zmiany przekazywane do głównej gałęzi, aby odzwierciedlić je w wersji na żywo. Dlatego wystarczy wdrożyć zmiany w GitHub, aby zaktualizować aplikację w czasie rzeczywistym.
Podczas gdy Vercel automatycznie generuje adres URL dla Twojej witryny Django, możesz również wdrożyć ją przy użyciu niestandardowej nazwy domeny. Więc rozważ zakup nazwy domeny od rejestratora jeśli potrzebujesz.
Hostuj swoją witrynę Django bez żadnych kosztów
Czasami potrzeba czegoś więcej niż repozytorium GitHub, aby zaimponować potencjalnym pracodawcom i klientom. Podczas gdy solidne i spójne repozytorium pokazuje Twoje kompetencje, wyświetlenie aktualnej wersji portfolio lub prototypu projektu przedstawia Cię jako osobę odnoszącą sukcesy.
Prowadzenie projektu, który nie generuje przychodów, jest często zniechęcające. Ale na szczęście Vercel jest jedną z niewielu bezpłatnych usług hostingowych. I widziałeś, jak bezpłatnie wdrożyć swój projekt Django na platformie. Chociaż wygenerowany adres URL wygląda nieporządnie, możesz wkleić go do pliku ReadMe swojego projektu w serwisie GitHub, aby pokazać innym, jak działa Twoje dzieło.