Dus je hebt zojuist een eenvoudige portfoliowebsite met Python voltooid en je wilt deze aanbieden met gratis hosting. Je hebt gehoord over de gratis hosting van Heroku, maar je begrijpt de technische aspecten niet helemaal.
Deze gids helpt je bij het doorlopen van het hele proces van het gratis hosten van je Python-website op Heroku, op een veel eenvoudigere manier. We gaan ervan uit dat je een basiskennis hebt van Python en tenminste een van de frameworks, bij voorkeur Django.
Waarom kiezen voor Heroku?
Heroku is een Platform as a Service (PaaS) webhostingprovider die zijn infrastructuur draait op iets dat het Dynos noemt. Het houdt u gefocust op implementatie, terwijl het zorgt voor de moeilijkheid van het onderhouden en bouwen van uw webinfrastructuur.
Als u zich geen betaalde hosting kunt veroorloven, maar snel een online portfolio wilt opzetten, dan kunt u overwegen om het op Heroku te hosten. Behalve dat het gratis is, is het vrij snel om uw website op Heroku te plaatsen.
Er zijn natuurlijk andere platforms waarop u uw Python-website gratis kunt hosten, zoals Amazon Web Services en PythonAnywhere. Maar het proces van hosting op Heroku is gemakkelijk, vooral voor mensen zonder voorafgaande kennis van implementatie.
Wanneer u gratis een website host op Heroku, hoeft u niet per se een domeinnaam te hebben. Het enige dat u nodig heeft, is uw app-naam op het hostingplatform opgeven. Heroku maakt vervolgens een app.herokuapp.com locator voor jou. Wanneer u deze gratis service gebruikt, draait uw site op Heroku Dynos.
Als u later besluit om op te schalen en een domeinnaam te krijgen, is dat even gemakkelijk en snel, maar u moet ervoor betalen. De overweldigende kosten van het onderhouden van de upgrade kunnen ertoe leiden dat u erover nadenkt, maar het is het geld waard als u vastbesloten bent meer in het project te investeren.
Laten we nu eens kijken hoe u uw Python-website gratis kunt hosten op Heroku. Merk op dat dit gebaseerd is op Python-versie 3.7 en Django-versie 2.1.7.
Stel Git en Heroku in
Download om te beginnen Git van het git-scm website. De verschillende commando's en wendingen om Git op alle besturingssystemen te installeren, worden hier uitgelegd.
Na het installeren van Git, moet je ook een account aanmaken bij Heroku op het Heroku-aanmeldingspagina als je er nog geen hebt.
Download en installeer vervolgens het Heroku CLI van de Heroku-website. Met de Heroku CLI kunt u met uw repository communiceren elke keer dat u wijzigingen in uw app moet vastleggen.
Als je nog niet bekend bent met Git-commando's, moet je onze inleiding tot versiebeheer met Git.
Zet een Django-project op
Als je geen Django-project hebt opgezet en het wilt uitproberen met deze tutorial, open je de opdrachtregel en maak een virtuele omgeving als je er nog geen hebt. Zodra de virtuele omgeving klaar is, gebruik je deze opdracht om het Django-framework te installeren:
We onderzoeken de beste manieren om uw virtuele Python-omgevingen te maken en te beheren.
pip install django == 2.1.7
Nadat Django is geïnstalleerd in de virtuele omgeving, voert u de volgende opdracht uit om een nieuw Django-project te starten:
django-admin.py startproject projectnaam
Maak vervolgens een nieuwe Python-app. Om dat te doen, migreert u naar de hoofdmap van uw project op de CMD en voert u het volgende uit:
python manage.py startapp app_name
Vergeet niet om te vervangen Naam van het project en applicatie naam met uw favoriete namen.
Je hebt de gunicorn module hiervoor, dus je zou ook moeten draaien pip installeer gunicorn. Dan toevoegen gunicorn naar de lijst met geïnstalleerde apps in settings.py, zoals hieronder weergegeven:
Dit is slechts een kennismaking met het bouwen van een Django-app. Of uw app nu gereed is of u er slechts een aan het bouwen bent, zorg ervoor dat uw run python manage.py migreren om uw database aan te maken.
Je zou nu een Python-app binnen je Django-framework moeten hebben. Nu duiken we in ons hoofddoel.
Uw app implementeren op Heroku
Om een succesvolle implementatie van uw app naar Heroku te hebben, moet u een requirements.txt het dossier. Voer het volgende uit op uw CMD om het in te stellen:
pip freeze> requirements.txt
Die regel creëert een .tekst bestand dat alle pakketten bevat die worden gebruikt om uw project te dienen. Heroku onderzoekt dat bestand tijdens de implementatie en installeert die pakketten automatisch.
Een ander belangrijk bestand dat u moet specificeren, is het Procfile. Dit vertelt Heroku de opdrachten die moeten worden uitgevoerd bij de initialisatie van de app. U moet dit bestand echter maken door expliciet een nieuw tekstbestand te maken met de naam Procfile in uw projectroot. Zorg ervoor dat dit bestand geen bestandsextensie heeft; anders werkt het niet.
Om de bestandsextensie uit het Procfile in Windows te verwijderen, opent u de map in Verkenner en klikt u op Visie op de bovenste werkbalk en vink het Bestandsnaamextensies doos. Je ziet dan de extensies voor alle bestanden, inclusief het .tekst extensie voor Procfile. Klik met de rechtermuisknop op Procfile en kies Hernoemenen verwijder vervolgens gewoon het .tekst extensie en klik op Enter.
Open vervolgens het Procfile en voeg de volgende regel toe, ter vervanging Naam van het project met de naam die van toepassing is op uw project:
web: gunicorn project_name.wsgi
Optioneel kunt u ook een runtime.txt het dossier. Open het bestand en specificeer de Python-versie als volgt:
python-3.7.6
Zo vertel je Heroku de Python-versie waarop je app draait. Als u dit bestand niet specificeert, gebruikt Heroku standaard alleen de nieuwste versie van Python.
Log vervolgens in de opdrachtprompt in op uw Heroku-account door deze opdracht uit te voeren:
heroku login
Dat commando opent uw standaardbrowser naar de Heroku-inlogpagina, waar u uw inloggegevens kunt opgeven.
Typ de volgende regel om een app op Heroku te maken:
heroku creëer ademosapp2
Vervangen ademosapp2 met uw favoriete app-naam. Als de door u geselecteerde app-naam in gebruik is, ziet u een bericht waarin u wordt gevraagd een nieuwe naam te kiezen.
Klik op de inlogpagina op het Heroku-logo om in te loggen op uw Heroku-dashboard. Je zou nu de app moeten zien die je zojuist hebt gemaakt.
Open vervolgens uw favoriete teksteditor op de locatie van uw project en ga naar die van uw project settings.py. In de settings.py bestand, wijzigt u het Toegestane host naar [*]dit maakt uw app toegankelijk voor elke wereldwijde host.
Ga nu naar je Heroku-dashboard en klik op de nieuw gemaakte app, gevolgd door instellingen. Scroll naar beneden in de instellingen en klik op Voeg buildpack toe. Selecteer vervolgens Python als je buildpack en klik op Wijzigingen opslaan.
Ga vervolgens terug naar je CMD en voer de volgende code uit om Heroku in je project te installeren:
pip installeer django-heroku
Voeg nu het nieuw geïnstalleerde pakket toe aan het requirements.txt bestand door uit te voeren:
pip freeze> requirements.txt
Open vervolgens uw project settings.py bestand en type:
importeer django_heroku
Ook op de laatste regel van settings.py, activeren django-heroku door toe te voegen:
django_heroku.settings (locals ())
#Zorg ervoor dat u commentaar geeft op deze regel na implementatie
Zodra dat is gebeurd, start u een externe opslagplaats door het volgende in uw opdrachtregel te typen:
heroku init
Maak vervolgens een Heroku-app-repository door het volgende uit te voeren:
heroku git: remote -a ademosapp2 # vervang ademosapp2 met de naam van je app
Om de bestanden te controleren die moeten worden vastgelegd, voert u het volgende uit:
git status
Typ vervolgens de volgende opdracht om alle wijzigingen aan uw repository toe te voegen:
git add --all
Zodra de wijzigingen zijn toegevoegd, legt u uw wijzigingen vast in Heroku door het volgende commando uit te voeren:
git commit -m "initial-commit"
Let daar op "initiële vastlegging" kan elke gewenste naam gebruiken.
Vervolgens moet u uitschakelen collectstatic door het volgende te gebruiken:
heroku-configuratie: stel DISABLE_COLLECTSTATIC = 1 in
Anders kunt u tijdens het implementatieproces problemen tegenkomen.
Om je bestanden eindelijk naar je Heroku-repository te pushen, gebruik je het commando:
git push heroku master
Dit pusht al je bestanden naar Heroku en maakt de app overal toegankelijk. Ga naar om uw zojuist geïmplementeerde app te zien https://app_name.herokuapp.com in uw browser, ter vervanging van applicatie naam met de naam van uw app.
Kan Heroku een app hosten die niet op Python draait?
Je kunt verschillende app-builds hosten op Heroku; dezelfde Git-processen die we hier hebben behandeld, werken voor andere talen dan Python. U hoeft slechts kleine wijzigingen aan te brengen, zoals het resetten van uw buildpack.
Hoewel Heroku u gratis hosting biedt, weten we allemaal dat gratis inhoud enkele beperkingen met zich meebrengt. Als u echter niet verwacht dat uw website veel verkeer zal ontvangen, is gratis Heroku-hosting misschien een goede optie.
Wil je leren programmeren, maar weet je niet waar je moet beginnen? Deze programmeerprojecten en tutorials voor beginners zullen je op weg helpen.
- Programmeren
- Web hosting
- Programmeren
- Python
Idowu is gepassioneerd door alles wat met slimme technologie en productiviteit te maken heeft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij houdt er ook van om af en toe de routine te doorbreken. Zijn passie om mensen de weg te wijzen in moderne technologie, motiveert hem om meer te schrijven.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.