Dacă ați construit un portofoliu sau un prototip de aplicație cu Django, găzduirea gratuită pe Vercel este la doar câteva clicuri și o mică bucată de cod distanță. Heroku a fost un salvator, dar a încetat să ofere găzduire gratuită în 2022.
Folosind Vercel, vă puteți implementa aplicația direct din GitHub gratuit și oricine o poate accesa de oriunde. Iată cum să procedezi.
Configurați aplicația Django pentru Vercel
Va trebui să configurați câteva aspecte ale proiectului Django înainte de a-l putea implementa în Vercel.
Configurați fișierul vercel.json
Mai întâi, trebuie să creați un fișier vercel.json în folderul rădăcină al proiectului pentru a indica Vercel către interfața gateway-ului pentru serverul web (WSGI) a aplicației:
{
„construiește”: [
{
"src": "django_app_name/wsgi.py",
„utilizați”: „@vercel/python”
}
],
"rute": [
{
"src": "/(.*)",
„dest”: „django_app_name/wsgi.py”
}
]
}
A inlocui django_app_name cu numele aplicației dvs. Django (la fel ca și folderul care conține fișierul setări.py fişier).
Refactorizați fișierul wsgi.py
Vercel nu recunoaște aplicarea variabilă în fișierul wsgi.py. Din fericire, singura modificare pe care o vei face pentru a rezolva această problemă este să treci aplicarea variabilă în Vercel ca aplicația.
Deci refactorizează aplicația ta wsgi.py fișier așa cum se arată:
import os
din django.core.wsgi import get_wsgi_application
os.environ.setdefault(„DJANGO_SETTINGS_MODULE”, „django_blog.settings”)
aplicație = get_wsgi_application()
aplicație = aplicație
Conectați-vă la o bază de date la distanță
Dacă aplicația dvs. are nevoie de suport pentru baze de date, utilizați furnizarea Vercel sau creați o instanță externă de bază de date undeva. Din fericire, sunt multe bază de date gratuită PostgreSQL opțiuni online. Poti de asemenea conectați-vă la un cluster MongoDB dacă preferați o bază de date NoSQL.
Cu toate acestea, vom rămâne aici cu clusterul de baze de date PostgreSQL al Railway, deoarece oferă un credit de pornire și este ușor de configurat.
Pentru a configura o instanță PostgreSQL pe Railway:
- Viziteaza Calea ferata site-ul web pentru a crea un cont.
- Clic Începeți un nou proiect.
- Selectați Furnizare PostgreSQL.
- Apasă pe Postgres banner pentru a vedea variabilele bazei de date și șirurile de conexiune.
- Du-te la Variabile fila. Apoi copiați și lipiți DATABASE_URL șir într-un editor de text pentru a-l formata. Asigurați-vă că înlocuiți substituenții din DATABASE_URL șir cu valorile variabile adecvate.
- Copiați variabilele rămase și configurați-vă baza de date în Django setări.py fișier, așa cum se arată mai jos. Nu uitați să înlocuiți numele variabilelor cu valorile adecvate, așa cum sunt furnizate de Railway.
BAZE DE DATE = {
'Mod implicit': {
'MOTOR': „django.db.backends.postgresql”,
„URL”: „DATABASE_URL”,
'NUME': „PGDATABASE”,
'UTILIZATOR': „PGUSER”,
'PAROLA': „PGPASSWORD”,
'GAZDĂ': „PGOST”,
'PORT': PGPORT,
}
}
Considera mascând aceste variabile secrete folosind un .env fișier pentru a spori securitatea aplicației dvs. Django. În plus, Vercel vă permite să listați variabilele de mediu în timpul implementării.
Deci, odată ce utilizați os.getenv metoda, Python preia variabila specificată din mediul de găzduire Vercel. Astfel, configurarea bazei de date devine:
BAZE DE DATE = {
'Mod implicit': {
'MOTOR': „django.db.backends.postgresql”,
„URL”: os.getenv(„POSTGRES_URL”),
'NUME': os.getenv(„PGNAME”),
'UTILIZATOR': os.getenv(„PGUSER”),
'PAROLA': os.getenv(„POSTGRES_PASSWORD”),
'GAZDĂ': os.getenv(„PGOST”),
'PORT': os.getenv(„PGPORT),
}
}
Implementează-ți depozitul GitHub pe Vercel
A doua parte a acestui proces implică indicarea Vercel către depozitul tău de pe GitHub. După ce ați făcut acest lucru, aplicația dvs. va fi live și oricine vă poate accesa site-ul la o adresă URL pe care Vercel o generează.
Creați un fișier de cerințe
Vercel încearcă să găsească și să instaleze dependențele proiectului dvs. în interiorul cerințe.txt fișier în timpul implementării. Totuși, amintiți-vă că scrierea dependențelor din a mediu virtual în cerințe.txt este întotdeauna mai ușor decât din spațiul global.
Creați un fișier requirements.txt în folderul rădăcină al proiectului folosind următoarea comandă prin terminal:
pip freeze > requirements.txt
Conectați-vă depozitul la Vercel
Vercel funcționează prin urmărirea modificărilor dintr-un depozit. Deci, primul pas de implementare este să împingeți-vă codul în GitHub sau orice alt sistem de control al versiunilor care funcționează cel mai bine pentru dvs. Ignorați acest pas dacă codul dvs. este deja pe GitHub.
Pentru a începe pe Vercel:
- Înscrieți-vă pe Site-ul Vercel folosind contul tău GitHub. Urmați instrucțiunile de pe ecran pentru a finaliza înregistrarea contului și a începe.
- Apoi, selectați opțiunea Cont Hobby pentru a utiliza Vercel gratuit.
- Odată autentificat, faceți clic Adăuga nou. Apoi apasa Proiect.
- Apoi, faceți clic Adăugați un cont GitHub de la Importați depozitul Git secțiune. Sau poți face clic Schimbați furnizorul Git dacă utilizați un alt control al versiunii în afară de GitHub.
- Clic Toate depozitele. Apoi apasa Instalare.
- Selectați contul dvs. GitHub din listă.
- Vercel vă va detecta automat depozitele. Clic Import în dreapta celui care poartă proiectul tău Django.
- Apasă pe variabile de mediu meniu derulant pentru a lista variabilele de mediu pe Vercel. Acestea pot include cheia secretă a aplicației și șirurile de conexiune la baza de date. Completați Nume câmp cu numele variabilei. Apoi introduceți valoarea sa în Valoare camp.
- Clic Adăuga pentru a crea un câmp nou și pentru a adăuga alte variabile de mediu.
- În cele din urmă, faceți clic Implementează. Aplicația dvs. ar trebui să fie live în unele momente. Faceți clic pe adresa URL din dreapta pictogramei web pentru a vă vizita noul site web.
Odată implementat, Vercel urmărește modificările ulterioare trimise în ramura principală pentru a le reflecta în versiunea live. Prin urmare, trebuie doar să implementați modificările în GitHub pentru a vă actualiza aplicația în timp real.
În timp ce Vercel generează automat o adresă URL pentru site-ul dvs. Django, puteți implementa și folosind un nume de domeniu personalizat. Deci luați în considerare cumpărarea unui nume de domeniu de la un registrator daca ai nevoie de unul.
Găzduiește-ți site-ul web Django fără costuri
Uneori, este nevoie de mai mult decât un depozit GitHub pentru a impresiona potențialii angajatori și clienți. În timp ce un depozit puternic și coerent vă arată competența, afișarea unei versiuni live a portofoliului sau a prototipului dvs. de proiect vă prezintă ca un realist.
Găzduirea unui proiect care nu generează venituri este adesea descurajatoare. Dar, din fericire, Vercel este unul dintre puținele servicii gratuite de găzduire web. Și ați văzut cum să vă implementați proiectul Django gratuit pe platformă. Deși adresa URL generată pare neîngrijită, o puteți lipi în ReadMe-ul proiectului dvs. pe GitHub pentru a le arăta oamenilor cum funcționează creația dvs.