Så du har nettopp fullført en enkel porteføljeside med Python, og du vil sette den opp ved hjelp av gratis hosting. Du har hørt om Heroku's gratis hosting, men du forstår ikke helt teknikkene som er involvert.
Denne guiden hjelper deg med å jobbe gjennom hele prosessen med å være vert for Python-nettstedet ditt gratis på Heroku, på en mye enklere måte. Vi antar at du har en grunnleggende kunnskap om Python og minst en av dens rammer, helst Django.
Hvorfor velge Heroku?
Heroku er en plattform som en tjeneste (PaaS) webhotellleverandør som driver infrastrukturen på noe den kaller Dynos. Det holder deg fokusert på distribusjon, mens den tar vare på vanskeligheter med å vedlikeholde og bygge din webinfrastruktur.
Hvis du ikke har råd til betalt hosting, men ønsker å sette opp en online portefølje raskt, vil du kanskje vurdere å være vert for den på Heroku. I tillegg til å komme uten kostnad, er det ganske raskt å sette opp nettstedet ditt på Heroku.
Selvfølgelig er det andre plattformer hvor du kan være vert for Python-nettstedet ditt gratis, for eksempel Amazon Web Services og PythonAnywhere. Men vertsprosessen på Heroku er enkel, spesielt for mennesker uten forkunnskaper om distribusjon.
Når du er vert for et nettsted gratis på Heroku, trenger du ikke nødvendigvis å ha et domenenavn. Alt du trenger er å spesifisere appnavnet ditt på hostingplattformen. Heroku oppretter deretter en app.herokuapp.com locator for deg. Når du bruker denne gratis tjenesten, kjører nettstedet ditt på Heroku Dynos.
Hvis du senere bestemmer deg for å skalere opp og få et domenenavn, er det like enkelt og raskt, men du må betale for det. De overveldende kostnadene ved å opprettholde oppgraderingen kan føre til at du tenker på nytt, men det er verdt pengene hvis du er fast bestemt på å investere mer i prosjektet.
La oss nå undersøke hvordan du kan være vert for Python-nettstedet ditt gratis på Heroku. Merk at dette er basert på Python versjon 3.7 og Django versjon 2.1.7.
Sett opp Git og Heroku
For å starte, last ned Git fra git-scm nettsted. De forskjellige kommandoene og vendene for å få Git installert på alle operativsystemer er forklart der.
Etter at du har installert Git, må du også opprette en konto hos Heroku på Heroku-registreringsside hvis du ikke allerede har en.
Deretter laster du ned og installerer Heroku CLI fra Heroku-nettstedet. Heroku CLI lar deg kommunisere med depotet ditt hver gang du trenger å utføre endringer i appen din.
Hvis du ikke allerede er kjent med Git-kommandoer, bør du ta en titt på vår introduksjon til versjonskontroll med Git.
Sett opp et Django-prosjekt
Hvis du ikke har satt opp et Django-prosjekt og vil prøve det med denne veiledningen, åpner du kommandolinjen og lage et virtuelt miljø hvis du ikke har en enda. Når det virtuelle miljøet er klart, bruk denne kommandoen til å installere Django-rammeverket:
Vi undersøker de beste måtene å lage og administrere dine virtuelle Python-miljøer på.
pip installere django == 2.1.7
Etter at Django er installert i det virtuelle miljøet, kjører du følgende kommando for å starte et nytt Django-prosjekt:
django-admin.py startprosjekt prosjektnavn
Deretter oppretter du en ny Python-app. For å gjøre det, migrerer du til prosjektets rotmappe på CMD og kjører:
python manage.py startapp app_name
Husk å bytte ut prosjektnavn og appnavn med dine foretrukne navn.
Du trenger gunicorn modul for dette, så du bør også kjøre pip installere gunicorn. Legg så til gunicorn til listen over installerte apper i settings.py, som vist under:
Dette er bare en overflateintroduksjon til å bygge en Django-app. Uansett om appen din er klar, eller om du bare bygger en, må du sørge for at du kjører python manage.py migrere for å lage databasen din.
Du bør nå ha en Python-app som kjører innenfor Django-rammen. Nå vil vi dykke inn i hovedmålet vårt.
Distribuere appen din til Heroku
For å få en vellykket distribusjon av appen din til Heroku, må du sette opp en krav.txt fil. For å konfigurere det, kjør følgende på CMD:
pip fryse> krav.txt
Den linjen skaper en .tekst fil som inneholder alle pakkene som brukes til å betjene prosjektet ditt. Heroku ser på den filen under distribusjonen og installerer disse pakkene automatisk.
En annen viktig fil du må spesifisere er Profilfil. Dette forteller Heroku kommandoene som skal kjøres ved initialisering av appen. Du må imidlertid opprette denne filen ved å lage en ny tekstfil eksplisitt Profilfil i prosjektroten. Forsikre deg om at denne filen ikke har filtypen. Ellers vil det ikke fungere.
For å fjerne filtypen fra Procfile i Windows, åpner du mappen i File Explorer, klikker Utsikt på den øverste verktøylinjen, og sjekk Filnavnutvidelser eske. Du vil da se utvidelsene for alle filer, inkludert .tekst utvidelse for Profilfil. Høyreklikk på Profilfil og velg Gi nytt navn, fjern deretter bare .tekst utvidelse og hit Tast inn.
Deretter åpner du Procfile og legger til følgende linje, og erstatter prosjektnavn med navnet som gjelder prosjektet ditt:
nett: gunicorn project_name.wsgi
Eventuelt kan du også opprette en runtime.txt fil. Åpne filen og spesifiser Python-versjonen som følger:
python-3.7.6
Slik forteller du Heroku Python-versjonen som appen din kjører på. Hvis du ikke spesifiserer denne filen, bruker Heroku bare den nyeste versjonen av Python som standard.
Deretter logger du på Heroku-kontoen i ledeteksten ved å kjøre denne kommandoen:
heroku-pålogging
Den kommandoen åpner standardleseren din til Heroku-påloggingssiden, hvor du kan oppgi påloggingsinformasjonen din.
For å lage en app på Heroku, skriv inn følgende linje:
heroku lage ademosapp2
Erstatte ademosapp2 med ditt foretrukne appnavn. Hvis det valgte appnavnet ditt er i bruk, ser du en melding som ber deg om å velge et nytt navn.
På påloggingssiden klikker du på Heroku-logoen for å logge på Heroku-dashbordet. Du skal nå se appen du nettopp opprettet.
Deretter åpner du din foretrukne tekstredigerer til prosjektets beliggenhet og går inn i prosjektets settings.py. I settings.py fil, endre Tillatt vert til [*]dette gjør appen din tilgjengelig for enhver global vert.
Gå nå inn på Heroku dashbordet ditt og klikk på den nylig opprettet appen, etterfulgt av innstillinger. I innstillingene, rull ned og klikk på Legg til buildpack. Velg deretter Python som din buildpack, og klikk Lagre endringer.
Deretter går du tilbake til CMD og kjører følgende kode for å installere Heroku i prosjektet ditt:
pip installer django-heroku
Nå legger du til den nylig installerte pakken i krav.txt fil ved å kjøre:
pip fryse> krav.txt
Åpne deretter opp prosjektets settings.py fil og type:
importer django_heroku
Også på siste linje av settings.py, aktivere django-heroku ved å legge til:
django_heroku.settings (lokalbefolkningen ())
# Sørg for at du kommenterer denne linjen etter distribusjon
Når det er gjort, kan du starte et eksternt lager ved å skrive følgende i kommandolinjen:
heroku init
Deretter oppretter du et Heroku-applager ved å kjøre:
heroku git: remote -a ademosapp2 #plasser ademosapp2 med appens navn
For å sjekke filene som må forpliktes, kjør:
git status
Deretter skriver du inn følgende kommando for å legge til alle endringer i depotet ditt:
git add - alt
Når endringene er lagt til, forplikter du endringene til Heroku ved å kjøre kommandoen:
git commit -m "initial-commit"
Noter det "initial-commit" kan bruke hvilket som helst navn du liker.
Deretter bør du deaktivere samlestatistikk ved å bruke følgende:
heroku-konfigurasjon: sett DISABLE_COLLECTSTATIC = 1
Ellers kan du få problemer under distribusjonsprosessen.
For å endelig skyve filene til Heroku-arkivet ditt, bruk kommandoen:
git push heroku master
Dette skyver alle filene dine til Heroku og gjør appen tilgjengelig fra hvor som helst. Gå til for å se den nylig distribuerte appen din https://app_name.herokuapp.com i nettleseren din, erstatter appnavn med appens navn.
Kan Heroku være vert for en app som ikke kjører på Python?
Du kan være vert for en rekke appbygginger på Heroku; de samme Git-prosessene vi dekket her fungerer for andre språk i tillegg til Python. Du trenger bare å gjøre små endringer, for eksempel å tilbakestille build-pakken.
Selv om Heroku tilbyr deg gratis hosting, vet vi alle at gratis innhold har noen begrensninger. Imidlertid, hvis du ikke forventer at nettstedet ditt vil motta mye trafikk, kan gratis Heroku-hosting være et godt alternativ.
Vil du lære programmering, men vet ikke hvor du skal begynne? Disse nybegynnerprogrammeringsprosjektene og opplæringsprogrammene vil starte deg.
- Programmering
- Webhotell
- Programmering
- Python

Idowu brenner for alt smart teknologi og produktivitet. På fritiden leker han med koding og bytter til sjakkbrettet når han kjeder seg, men han elsker også å bryte seg fra rutinen en gang i blant. Hans lidenskap for å vise folk veien rundt moderne teknologi motiverer ham til å skrive mer.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.