Hoe u uw Python-website gratis kunt hosten op Heroku

Hoe u uw Python-website gratis kunt hosten op Heroku

Dus je hebt zojuist een eenvoudige portfoliowebsite met Python voltooid en je wilt deze gratis hosten. Je hebt gehoord over de gratis hosting van Heroku, maar je begrijpt de technische details niet helemaal.

Deze gids helpt je om het hele proces van het gratis hosten van je Python-website op Heroku te doorlopen, op een veel eenvoudigere manier. We gaan ervan uit dat je een basiskennis hebt van Python en ten minste één van zijn 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 wel snel een online portfolio wilt opzetten, dan kunt u overwegen deze op Heroku te hosten. Naast dat het gratis is, is het vrij snel om je website op Heroku te plaatsen.

Natuurlijk zijn er andere platforms waar u uw Python-website gratis kunt hosten, zoals Amazon Web Services en PythonAnywhere. Maar het hosten op Heroku is eenvoudig --- vooral voor mensen zonder voorafgaande kennis van implementatie.

Wanneer je gratis een website host op Heroku, hoef je niet per se een domeinnaam te hebben. Het enige dat u hoeft te doen, is uw app-naam op het hostingplatform op te geven. Heroku maakt dan een app.herokuapp.com- locator voor je aan. Wanneer je gebruik maakt van deze gratis dienst, draait je site op Heroku Dynos.

Besluit je later om op te schalen en een domeinnaam te krijgen, dan is dat even makkelijk en snel, maar je moet er wel voor betalen. De overweldigende kosten van het onderhoud 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.

Git en Heroku . instellen

Download om te beginnen Git van de git-scm-website . De verschillende commando's en wendingen om Git op alle besturingssystemen te installeren, worden daar uitgelegd.

Nadat je Git hebt geïnstalleerd, moet je ook een account bij Heroku aanmaken op de Heroku-aanmeldingspagina als je er nog geen hebt.

Download en installeer vervolgens de Heroku CLI van de Heroku-website. Met de Heroku CLI kunt u elke keer dat u wijzigingen aan uw app moet doorvoeren, communiceren met uw repository.

Als je nog niet bekend bent met Git-commando's, bekijk dan onze inleiding tot versiebeheer met Git .

Een Django-project opzetten

Als je geen Django-project hebt opgezet en het wilt uitproberen met deze tutorial, open dan de opdrachtregel en maak een virtuele omgeving als je die nog niet hebt. Zodra de virtuele omgeving gereed is, gebruikt u deze opdracht om het Django-framework te installeren:

pip install django==2.1.7

Nadat Django in de virtuele omgeving is geïnstalleerd, voert u de volgende opdracht uit om een ​​nieuw Django-project te starten:

django-admin.py startproject project_name

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 project_name en app_name te vervangen door uw voorkeursnamen.

Je hebt hiervoor de gunicorn- module nodig , dus je moet ook pip install gunicorn uitvoeren . Voeg vervolgens gunicorn toe aan de lijst met geïnstalleerde apps in settings.py , zoals hieronder weergegeven:

Hoe u uw Python-website gratis kunt hosten op Heroku

Dit is slechts een oppervlakkige introductie tot het bouwen van een Django-app. Of uw app nu klaar is of u er net een aan het bouwen bent, zorg ervoor dat uw run python manage.py migreert om uw database te maken.

Je zou nu een Python-app moeten hebben die draait binnen je Django-framework. Nu duiken we in ons hoofddoel.

Uw app implementeren op Heroku

Voor een succesvolle implementatie van uw app bij Heroku moet u een requirements.txt- bestand instellen. Voer het volgende uit op uw CMD om het in te stellen:

pip freeze > requirements.txt

Die regel creëert een .txt- bestand dat alle pakketten bevat die worden gebruikt om uw project te bedienen. Heroku bekijkt dat bestand tijdens de implementatie en installeert die pakketten automatisch.

Een ander belangrijk bestand dat u moet specificeren, is het profiel . 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 met de naam Profile in de hoofdmap van uw project te maken. Zorg ervoor dat dit bestand geen bestandsextensie heeft; anders werkt het niet.

Om de bestandsextensie uit het Profile in Windows te verwijderen, opent u de map in Verkenner, klikt u op Weergeven op de bovenste werkbalk en vinkt u het vakje Bestandsnaamextensies aan . U ziet dan de extensies voor alle bestanden, inclusief de .txt- extensie voor Profile . Klik met de rechtermuisknop op Procfile en kies Naam wijzigen , verwijder vervolgens eenvoudig de .txt- extensie en druk op Enter .

Hoe u uw Python-website gratis kunt hosten op Heroku

Next, het openstellen van de Procfile en voeg de volgende regel, ter vervanging van PROJECT_NAME met de naam die van toepassing is op uw project:

web: gunicorn project_name.wsgi

Optioneel kunt u ook een runtime.txt- bestand maken. 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 je dit bestand niet opgeeft, 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

Die opdracht 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 create ademosapp2

Vervang ademosapp2 door uw favoriete app-naam. Als de naam van uw geselecteerde app 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.

Hoe u uw Python-website gratis kunt hosten op Heroku

Open vervolgens uw favoriete teksteditor op de locatie van uw project en ga naar settings.py van uw project . In de settings.py file, wijzigt het toegestaan Host aan [*] --- dit maakt uw app toegankelijk voor elke globale host.

Ga nu naar je Heroku-dashboard en klik op de nieuw gemaakte app, gevolgd door instellingen . Scroll in de instellingen naar beneden en klik op Add buildpack . Selecteer vervolgens Python als uw buildpack en klik op Wijzigingen opslaan .

Hoe u uw Python-website gratis kunt hosten op Heroku

Ga vervolgens terug naar je CMD en voer de volgende code uit om Heroku in je project te installeren:

pip install django-heroku

Voeg nu het nieuw geïnstalleerde pakket toe aan het bestand requirements.txt door het volgende uit te voeren:

pip freeze > requirements.txt

Open vervolgens het bestand settings.py van uw project en typ:

import django_heroku

Activeer op de laatste regel van settings.py django-heroku door toe te voegen:

django_heroku.settings(locals()) #ensure that you comment this line out after deployment

Zodra dat is gebeurd, start u een externe repository 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 #replace ademosapp2 with your app's name

Voer het volgende uit om de bestanden te controleren die moeten worden vastgelegd:

git status

Typ vervolgens de volgende opdracht om alle wijzigingen aan uw repository toe te voegen:

git add --all

Nadat de wijzigingen zijn toegevoegd, legt u uw wijzigingen vast in Heroku door de opdracht uit te voeren:

git commit -m "initial-commit"

Merk op dat "initial-commit" elke gewenste naam kan gebruiken.

Vervolgens moet u collectstatic uitschakelen door het volgende te gebruiken:

heroku config:set DISABLE_COLLECTSTATIC=1

Anders kunt u tijdens het implementatieproces problemen tegenkomen.

Om eindelijk je bestanden naar je Heroku-repository te pushen, gebruik je de opdracht:

git push heroku master

Dit pusht al je bestanden naar Heroku en maakt de app overal toegankelijk. Om uw nieuw geïmplementeerde app te zien, gaat u naar https://app_name.herokuapp.com in uw browser en vervangt u app_name door de naam van uw app.

Hoe u uw Python-website gratis kunt hosten op Heroku

Kan Heroku een app hosten die niet op Python draait?

U 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 je gratis hosting biedt, weten we allemaal dat gratis inhoud een aantal beperkingen heeft. Als u echter niet verwacht dat uw website veel verkeer zal ontvangen, kan gratis Heroku-hosting een goede optie zijn.


Python gebruiken als opdrachtregelcalculator

Python gebruiken als opdrachtregelcalculator

Hoewel u een grafische rekenmachine op uw computer kunt gebruiken, kan de Python-programmeertaalinterpreter ook dienst doen als bureaurekenmachine. Het is zo'n populaire hardloopgrap in de Python-gemeenschap dat het wordt genoemd in de officiële tutorial. Hier leest u hoe u Python als rekenmachine kunt gebruiken.

De 8 beste Java-blogs voor programmeurs

De 8 beste Java-blogs voor programmeurs

Als programmeur moet je uitdagingen aangaan om te overleven en wonderen te bouwen op het gebied van ontwikkeling of programmeren. Als u dus een geavanceerde programmeertaal wilt leren om uw carrièrevaardigheden te verbeteren, is Java een van de beste vooruitzichten die er zijn.

7 essentiële commandos om aan de slag te gaan met Python voor beginners

7 essentiële commandos om aan de slag te gaan met Python voor beginners

Het leren van een nieuwe programmeertaal zoals Python wordt moeiteloos als je een uitgebreid stappenplan hebt waarin wordt beschreven welke concepten je als beginner moet leren en hoe je verder kunt komen om de volgende mijlpaal te bereiken. Zelfs gevorderde programmeurs zouden hun basis regelmatig moeten opfrissen om een ​​solide basis voor zichzelf op te bouwen.

Responsieve webontwerpprincipes

Responsieve webontwerpprincipes

Tegenwoordig is het gebruikelijk om een ​​website of app te bouwen die de gebruikersinterface aanpast, afhankelijk van de browser of het apparaat. Er zijn twee benaderingen om dit doel te bereiken. De eerste omvat het maken van verschillende versies van uw website of app voor verschillende apparaten. Maar het is inefficiënt en kan leiden tot onvoorspelbare fouten.

Het aantal cijfers in een getal tellen met C++, Python en JavaScript

Het aantal cijfers in een getal tellen met C++, Python en JavaScript

Werken met getallen is een integraal onderdeel van programmeren. Elke programmeertaal biedt ondersteuning om getallen op veel verschillende manieren te manipuleren. In dit artikel leert u hoe u het totale aantal cijfers in een geheel getal kunt vinden met behulp van iteratieve, op logs gebaseerde en op tekenreeksen gebaseerde benaderingen.

SQL versus NoSQL: wat is de beste database voor uw volgende project?

SQL versus NoSQL: wat is de beste database voor uw volgende project?

SQL versus NoSQL: wat is de beste database voor uw volgende project?

Tweets insluiten in uw WordPress-berichten

Tweets insluiten in uw WordPress-berichten

Het insluiten van services van derden in uw WordPress-berichten is een opwindende manier om de interesse van een bezoeker te wekken. Ingesloten inhoud biedt ook visuele aanwijzingen die het scannen gemakkelijker maken. WordPress heeft het toevoegen van dit soort inhoud eenvoudig gemaakt.

Hoe de map Node Modules te verwijderen met npkill

Hoe de map Node Modules te verwijderen met npkill

Node.js is een JavaScript-runtimeomgeving waarmee u JavaScript buiten webbrowsers kunt uitvoeren, waardoor het een populaire keuze is voor het ontwikkelen van allerlei soorten toepassingen. Een deel van zijn populariteit is te danken aan de overvloed aan NPM-pakketten die er zijn om de ontwikkelaarservaring te vergemakkelijken.

Hoe u uw eerste Solidity-code schrijft en compileert

Hoe u uw eerste Solidity-code schrijft en compileert

Solidity is de programmeertaal die wordt gebruikt door slimme contracten op de Ethereum-blockchain. Het is een statisch getypeerde, objectgeoriënteerde programmeertaal.

Top 5 badges die uw GitHub-repository een boost zullen geven

Top 5 badges die uw GitHub-repository een boost zullen geven

GitHub-badges kunnen de leesbaarheid van een repository vergroten door gebruikers een snelle manier te bieden om de repository-statistieken vast te leggen. Badges kunnen worden ingesloten in uw README.md om het belang en de noodzaak van uw project aan andere ontwikkelaars duidelijk te maken. Als gevolg hiervan krijgen lezers een heel snel idee van de repository door de bijgevoegde badges te controleren.

Wat is de Internationale Dag van de Programmeurs? 3 manieren om dit jaar te vieren

Wat is de Internationale Dag van de Programmeurs? 3 manieren om dit jaar te vieren

Internationale feestdagen zijn een leuke manier om erkenning te geven aan sociale zaken, historische dagen en respectieve carrières. International Programmers' Day viert de rol die programmeurs spelen om het dagelijks leven te verbeteren. De beschaafde wereld waarin we leven is een product van het harde werk van programmeurs.

Hoe werkt de methode Python String format()? 10 voorbeelden

Hoe werkt de methode Python String format()? 10 voorbeelden

Of het nu gaat om een ​​databasequery of resultaten van wiskundige bewerkingen, de Python-tekenreeksindelingsmethode biedt een meer dynamische en aantrekkelijke manier om resultaten aan een gebruiker te presenteren.

Visual Studio 2022 vs. 2019: moet u nu upgraden? uitgelegd

Visual Studio 2022 vs. 2019: moet u nu upgraden? uitgelegd

Eerder dit jaar bracht Microsoft de preview-versie van Visual Studio 2022 uit in de wilde programmeerwereld. Dit is goed nieuws! Het is een extreem populaire IDE, maar aan een opknapbeurt of misschien zelfs een revisie toe, gezien het tempo van de veranderingen in het DevOps-ecosysteem waarin het gedijt.

Een eenvoudige introductie tot softwarestatistieken

Een eenvoudige introductie tot softwarestatistieken

Softwarestatistieken zijn metingen die worden gebruikt om verschillende aspecten van uw software te kwantificeren. Deze aspecten kunnen variëren van de kosten, kwaliteit en efficiëntie van het ontwikkelteam.

Flask of CherryPy: welk Python-framework moet je gebruiken?

Flask of CherryPy: welk Python-framework moet je gebruiken?

Als je een Python-ontwikkelaar bent, kun je enorm profiteren van de reeks beschikbare frameworks. Terwijl sommige kaders het meest geschikt zijn voor grote ecosystemen, zijn andere gespecialiseerd in het dienen van specifieke ontwikkelingsdoelen. Lees verder om de basisfuncties, het gebruik en de verschillen tussen twee Python-frameworks te leren: Flask en CherryPy.

N-cijferige perfecte kubussen en vierkanten vinden met Python, C++ en JavaScript

N-cijferige perfecte kubussen en vierkanten vinden met Python, C++ en JavaScript

Veel programmeurs houden ervan om lastige wiskundige problemen op te lossen met behulp van code. Het helpt de geest te scherpen en het probleemoplossend vermogen te verbeteren. In dit artikel leer je hoe je de kleinste en grootste n-cijferige perfecte vierkanten en kubussen kunt vinden met Python, C++ en JavaScript. Elk voorbeeld bevat ook voorbeelduitvoer voor verschillende waarden.

Hoe de Python if-instructie te gebruiken?

Hoe de Python if-instructie te gebruiken?

Het if-statement is de drijvende kracht achter logisch programmeren. Als gevolg hiervan is een beter begrip van Pythons een belangrijke toevoeging aan je Python-programmeervaardigheden.

Coderen is niet voor iedereen: 9 technische banen die je zonder kunt krijgen

Coderen is niet voor iedereen: 9 technische banen die je zonder kunt krijgen

Technologie is zonder twijfel de industrie van de toekomst. Als je een van de miljoenen jonge volwassenen bent die op het punt staan ​​om in de eerste fase van je carrière te duiken, vraag je je misschien af ​​wat je moet doen als je niet van coderen houdt.

Hoe u uw virtuele Python-omgevingen effectief kunt maken en beheren

Hoe u uw virtuele Python-omgevingen effectief kunt maken en beheren

U kunt een real-life project in Python niet met succes voltooien zonder een virtuele omgeving. Tools zoals virtualenvwrapper en virtualenv zijn gebruikelijk voor het maken en beheren van virtuele omgevingen voor webontwikkeling, terwijl anaconda veel wordt gebruikt door datawetenschappers.

Het CSS Box-model uitgelegd met voorbeelden

Het CSS Box-model uitgelegd met voorbeelden

Als u van plan bent een geweldige webpagina-indeling te maken, moet u weten over marges, randen, opvulling en inhoud. Elk element in webdesign, of het nu een afbeelding of tekst is, gebruikt een kader met deze eigenschappen. Je kunt eenvoudig complexe lay-outs bouwen door te spelen met het doosmodel. In dit artikel zullen we het CSS Box-model ontleden en laten zien hoe u deze eigenschappen kunt gebruiken met praktische voorbeelden.

Python gebruiken als opdrachtregelcalculator

Python gebruiken als opdrachtregelcalculator

Hoewel u een grafische rekenmachine op uw computer kunt gebruiken, kan de Python-programmeertaalinterpreter ook dienst doen als bureaurekenmachine. Het is zo'n populaire hardloopgrap in de Python-gemeenschap dat het wordt genoemd in de officiële tutorial. Hier leest u hoe u Python als rekenmachine kunt gebruiken.

De 8 beste Java-blogs voor programmeurs

De 8 beste Java-blogs voor programmeurs

Als programmeur moet je uitdagingen aangaan om te overleven en wonderen te bouwen op het gebied van ontwikkeling of programmeren. Als u dus een geavanceerde programmeertaal wilt leren om uw carrièrevaardigheden te verbeteren, is Java een van de beste vooruitzichten die er zijn.

7 essentiële commandos om aan de slag te gaan met Python voor beginners

7 essentiële commandos om aan de slag te gaan met Python voor beginners

Het leren van een nieuwe programmeertaal zoals Python wordt moeiteloos als je een uitgebreid stappenplan hebt waarin wordt beschreven welke concepten je als beginner moet leren en hoe je verder kunt komen om de volgende mijlpaal te bereiken. Zelfs gevorderde programmeurs zouden hun basis regelmatig moeten opfrissen om een ​​solide basis voor zichzelf op te bouwen.

Responsieve webontwerpprincipes

Responsieve webontwerpprincipes

Tegenwoordig is het gebruikelijk om een ​​website of app te bouwen die de gebruikersinterface aanpast, afhankelijk van de browser of het apparaat. Er zijn twee benaderingen om dit doel te bereiken. De eerste omvat het maken van verschillende versies van uw website of app voor verschillende apparaten. Maar het is inefficiënt en kan leiden tot onvoorspelbare fouten.

Het aantal cijfers in een getal tellen met C++, Python en JavaScript

Het aantal cijfers in een getal tellen met C++, Python en JavaScript

Werken met getallen is een integraal onderdeel van programmeren. Elke programmeertaal biedt ondersteuning om getallen op veel verschillende manieren te manipuleren. In dit artikel leert u hoe u het totale aantal cijfers in een geheel getal kunt vinden met behulp van iteratieve, op logs gebaseerde en op tekenreeksen gebaseerde benaderingen.

De 9 beste Docker-alternatieven voor containerbeheer

De 9 beste Docker-alternatieven voor containerbeheer

Containers zijn zeer nuttig voor softwareontwikkeling, implementatie en beheer in een virtuele omgeving. Docker is handig in het containerisatieproces, maar het is niet het enige platform dat er is. Als u op zoek bent naar alternatieven voor Docker, hoeft u niet verder te zoeken. Deze lijst toont enkele veelzijdige en efficiënte Docker-alternatieven die u in uw volgende project kunt gebruiken.

SQL versus NoSQL: wat is de beste database voor uw volgende project?

SQL versus NoSQL: wat is de beste database voor uw volgende project?

SQL versus NoSQL: wat is de beste database voor uw volgende project?

Tweets insluiten in uw WordPress-berichten

Tweets insluiten in uw WordPress-berichten

Het insluiten van services van derden in uw WordPress-berichten is een opwindende manier om de interesse van een bezoeker te wekken. Ingesloten inhoud biedt ook visuele aanwijzingen die het scannen gemakkelijker maken. WordPress heeft het toevoegen van dit soort inhoud eenvoudig gemaakt.

Hoe de map Node Modules te verwijderen met npkill

Hoe de map Node Modules te verwijderen met npkill

Node.js is een JavaScript-runtimeomgeving waarmee u JavaScript buiten webbrowsers kunt uitvoeren, waardoor het een populaire keuze is voor het ontwikkelen van allerlei soorten toepassingen. Een deel van zijn populariteit is te danken aan de overvloed aan NPM-pakketten die er zijn om de ontwikkelaarservaring te vergemakkelijken.

Hoe u uw eerste Solidity-code schrijft en compileert

Hoe u uw eerste Solidity-code schrijft en compileert

Solidity is de programmeertaal die wordt gebruikt door slimme contracten op de Ethereum-blockchain. Het is een statisch getypeerde, objectgeoriënteerde programmeertaal.