Come ospitare gratuitamente il tuo sito Web Python su Heroku

Come ospitare gratuitamente il tuo sito Web Python su Heroku

Quindi hai appena completato un semplice sito Web di portfolio con Python e vuoi installarlo utilizzando l'hosting gratuito. Hai sentito parlare dell'hosting gratuito di Heroku, ma non capisci bene i tecnicismi coinvolti.

Questa guida ti aiuterà a svolgere l'intero processo di hosting gratuito del tuo sito Web Python su Heroku, in un modo molto più semplice. Partiamo dal presupposto che tu abbia una conoscenza di base di Python e di almeno uno dei suoi framework --- preferibilmente Django.

Perché scegliere Heroku?

Heroku è un provider di web hosting Platform as a Service (PaaS) che gestisce la sua infrastruttura su qualcosa che chiama Dynos. Ti tiene concentrato sulla distribuzione, mentre si occupa della difficoltà di mantenere e costruire la tua infrastruttura web.

Nel caso in cui non puoi permetterti un hosting a pagamento ma desideri creare rapidamente un portfolio online, potresti prendere in considerazione l'idea di ospitarlo su Heroku. Oltre a essere gratuito, è abbastanza veloce mettere il tuo sito web su Heroku.

Naturalmente, ci sono altre piattaforme in cui puoi ospitare gratuitamente il tuo sito Web Python, come Amazon Web Services e PythonAnywhere. Ma il processo di hosting su Heroku è facile, specialmente per le persone senza una conoscenza preliminare della distribuzione.

Quando ospiti un sito web gratuitamente su Heroku, non devi necessariamente avere un nome di dominio. Tutto ciò che serve è specificare il nome della tua app sulla piattaforma di hosting. Heroku crea quindi un localizzatore app.herokuapp.com per te. Quando utilizzi questo servizio gratuito, il tuo sito funziona su Heroku Dynos.

Se in seguito decidi di scalare e ottenere un nome di dominio, è altrettanto facile e veloce, ma devi pagare per questo. Il costo schiacciante del mantenimento dell'aggiornamento potrebbe farti ripensare, ma ne vale la pena se sei determinato a investire di più nel progetto.

Esaminiamo ora come ospitare gratuitamente il tuo sito Web Python su Heroku. Nota che questo è basato su Python versione 3.7 e Django versione 2.1.7.

Configura Git e Heroku

Per iniziare, scarica Git dal sito Web git-scm . I vari comandi e colpi di scena per installare Git su tutti i sistemi operativi sono spiegati qui.

Dopo aver installato Git, devi anche creare un account con Heroku nella pagina di registrazione di Heroku se non ne hai già uno.

Quindi, scarica e installa la CLI di Heroku dal sito Web di Heroku. La CLI di Heroku ti consente di comunicare con il tuo repository ogni volta che devi apportare modifiche alla tua app.

Se non hai già familiarità con i comandi Git, dovresti dare un'occhiata alla nostra introduzione al controllo della versione con Git .

Imposta un progetto Django

Se non hai un progetto Django configurato e vuoi provarlo con questo tutorial, apri la riga di comando e crea un ambiente virtuale se non ne hai ancora uno. Una volta che l'ambiente virtuale è pronto, usa questo comando per installare il framework Django:

pip install django==2.1.7

Dopo aver installato Django nell'ambiente virtuale, eseguire il comando seguente per avviare un nuovo progetto Django:

django-admin.py startproject project_name

Quindi, crea una nuova app Python. Per farlo, migra nella cartella principale del tuo progetto sul CMD ed esegui:

python manage.py startapp app_name

Ricorda di sostituire project_name e app_name con i tuoi nomi preferiti.

Hai bisogno del modulo gunicorn per questo, quindi dovresti anche eseguire pip install gunicorn . Quindi aggiungi gunicorn all'elenco delle app installate in settings.py , come mostrato di seguito:

Come ospitare gratuitamente il tuo sito Web Python su Heroku

Questa è solo un'introduzione superficiale alla creazione di un'app Django. Tuttavia, se la tua app è pronta o se ne stai solo creando una, assicurati che la tua esecuzione python manage.py migri per creare il tuo database.

Ora dovresti avere un'app Python in esecuzione all'interno del tuo framework Django. Ora ci tufferemo nel nostro obiettivo principale.

Distribuire la tua app su Heroku

Per avere una distribuzione corretta della tua app su Heroku, devi impostare un file require.txt . Per configurarlo, esegui quanto segue sul tuo CMD:

pip freeze > requirements.txt

Quella riga crea un file .txt che contiene tutti i pacchetti utilizzati per servire il tuo progetto. Heroku esamina quel file durante la distribuzione e installa automaticamente quei pacchetti.

Un altro file importante che devi specificare è Procfile . Questo dice a Heroku i comandi da eseguire all'inizializzazione dell'app. Tuttavia, devi creare questo file creando esplicitamente un nuovo file di testo chiamato Procfile nella radice del tuo progetto. Assicurati che questo file non abbia un'estensione di file; altrimenti, non funzionerà.

Per rimuovere l'estensione del file da Procfile in Windows, aprire la cartella in Esplora file, fare clic su Visualizza nella barra degli strumenti in alto e selezionare la casella Estensioni nome file . Vedrai quindi le estensioni per tutti i file, inclusa l' estensione .txt per Procfile . Fai clic con il pulsante destro del mouse su Procfile e scegli Rinomina , quindi rimuovi semplicemente l' estensione .txt e premi Invio .

Come ospitare gratuitamente il tuo sito Web Python su Heroku

Quindi, apri il Procfile e aggiungi la seguente riga, sostituendo project_name con il nome che si applica al tuo progetto:

web: gunicorn project_name.wsgi

Facoltativamente, puoi anche creare un file runtime.txt . Apri il file e specifica la versione di Python come segue:

python-3.7.6

È così che dici a Heroku la versione Python su cui gira la tua app. Se non specifichi questo file, Heroku usa solo l'ultima versione di Python per impostazione predefinita.

Successivamente, nel prompt dei comandi, accedi al tuo account Heroku eseguendo questo comando:

heroku login

Quel comando apre il tuo browser predefinito alla pagina di accesso di Heroku, dove puoi fornire le tue credenziali di accesso.

Per creare un'app su Heroku, digita la seguente riga:

heroku create ademosapp2

Sostituisci ademosapp2 con il nome della tua app preferita. Se il nome dell'app selezionato è in uso, vedrai un messaggio che ti chiederà di scegliere un nuovo nome.

Nella pagina di accesso, fai clic sul logo Heroku per accedere alla dashboard di Heroku. Ora dovresti vedere l'app che hai appena creato.

Come ospitare gratuitamente il tuo sito Web Python su Heroku

Quindi, apri il tuo editor di testo preferito nella posizione del tuo progetto e vai in settings.py del tuo progetto . Nel file settings.py , cambia l' host consentito in [*] --- questo rende la tua app accessibile a qualsiasi host globale.

Ora vai nella dashboard di Heroku e fai clic sull'app appena creata, seguita da impostazioni . Nelle impostazioni, scorri verso il basso e fai clic su Aggiungi buildpack . Quindi seleziona Python come buildpack e fai clic su Salva modifiche .

Come ospitare gratuitamente il tuo sito Web Python su Heroku

Quindi, torna al tuo CMD ed esegui il seguente codice per installare Heroku nel tuo progetto:

pip install django-heroku

Ora, aggiungere il pacchetto appena installato al requirements.txt file eseguendo:

pip freeze > requirements.txt

Quindi, apri il file settings.py del tuo progetto e digita:

import django_heroku

Inoltre, nell'ultima riga di settings.py , attiva django-heroku aggiungendo:

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

Una volta fatto, avvia un repository remoto digitando quanto segue nella riga di comando:

heroku init

Quindi, crea un repository di app Heroku eseguendo:

heroku git:remote -a ademosapp2 #replace ademosapp2 with your app's name

Per controllare i file che devono essere impegnati, eseguire:

git status

Quindi, digita il seguente comando per aggiungere tutte le modifiche al tuo repository:

git add --all

Una volta aggiunte le modifiche, conferma le tue modifiche su Heroku eseguendo il comando:

git commit -m "initial-commit"

Nota che "initial-commit" può usare qualsiasi nome tu voglia.

Successivamente, dovresti disabilitare collectstatic utilizzando quanto segue:

heroku config:set DISABLE_COLLECTSTATIC=1

In caso contrario, potresti riscontrare problemi durante il processo di distribuzione.

Per inviare finalmente i tuoi file al tuo repository Heroku, usa il comando:

git push heroku master

Questo spinge tutti i tuoi file su Heroku e rende l'app accessibile da qualsiasi luogo. Per vedere la tua app appena distribuita, vai su https://app_name.herokuapp.com nel tuo browser, sostituendo app_name con il nome della tua app.

Come ospitare gratuitamente il tuo sito Web Python su Heroku

Heroku può ospitare un'app che non funziona su Python?

Puoi ospitare una varietà di build di app su Heroku; gli stessi processi Git che abbiamo trattato qui funzionano per altri linguaggi oltre a Python. Hai solo bisogno di fare piccole modifiche, come reimpostare il tuo pacchetto di build.

Sebbene Heroku ti offra hosting gratuito, sappiamo tutti che i contenuti gratuiti hanno alcune limitazioni. Tuttavia, se non ti aspetti che il tuo sito web riceva molto traffico, l'hosting gratuito di Heroku potrebbe essere una buona opzione.


Come usare Python come calcolatrice da riga di comando

Come usare Python come calcolatrice da riga di comando

Sebbene sia possibile utilizzare una calcolatrice grafica sul computer, l'interprete del linguaggio di programmazione Python può fungere anche da calcolatrice da tavolo. È uno scherzo così popolare nella comunità Python che è menzionato nel tutorial ufficiale. Ecco come puoi usare Python come calcolatrice.

Gli 8 migliori blog Java per programmatori

Gli 8 migliori blog Java per programmatori

Come programmatore, dovresti accettare le sfide per sopravvivere e costruire alcune meraviglie nel campo dello sviluppo o della programmazione. Quindi, se stai cercando di imparare un linguaggio di programmazione avanzato per migliorare le tue capacità professionali, Java è una delle migliori prospettive in circolazione.

7 comandi vitali per iniziare con Python per principianti

7 comandi vitali per iniziare con Python per principianti

Imparare un nuovo linguaggio di programmazione come Python diventa facile se hai una tabella di marcia completa che dettaglia quali concetti imparare come principiante e come progredire ulteriormente per raggiungere il prossimo traguardo. Anche i programmatori intermedi dovrebbero spesso rispolverare le proprie nozioni di base per costruire una solida base per se stessi.

Principi di web design reattivo

Principi di web design reattivo

Al giorno d'oggi, è pratica comune creare un sito Web o un'app che regoli la sua interfaccia utente a seconda del browser o del dispositivo. Ci sono due approcci per raggiungere questo obiettivo. Il primo prevede la creazione di versioni diverse del tuo sito Web o della tua app per dispositivi diversi. Ma è inefficiente e può portare a errori imprevedibili.

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Lavorare con i numeri è parte integrante della programmazione. Ogni linguaggio di programmazione fornisce supporto per manipolare i numeri in molti modi diversi. In questo articolo imparerai come trovare il numero totale di cifre in un numero intero utilizzando approcci iterativi, basati su log e basati su stringhe.

Le 9 migliori alternative Docker per la gestione dei container

Le 9 migliori alternative Docker per la gestione dei container

I container sono estremamente utili per lo sviluppo, la distribuzione e la gestione del software in un ambiente virtuale. Docker è utile nel processo di containerizzazione, ma non è l'unica piattaforma disponibile. Se stai cercando delle alternative a Docker, non cercare oltre. Questo elenco mostra alcune alternative Docker ricche di funzionalità ed efficienti da utilizzare nel tuo prossimo progetto.

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

Come incorporare i tweet nei tuoi post di WordPress

Come incorporare i tweet nei tuoi post di WordPress

Incorporare servizi di terze parti nei tuoi post di WordPress è un modo entusiasmante per catturare l'interesse di un visitatore. Il contenuto incorporato fornisce anche indicazioni visive che semplificano la scansione. WordPress ha reso facile l'aggiunta di questo tipo di contenuto.

Come eliminare la cartella dei moduli del nodo con npkill

Come eliminare la cartella dei moduli del nodo con npkill

Node.js è un ambiente di runtime JavaScript che consente di eseguire JavaScript al di fuori dei browser Web, rendendolo una scelta popolare per lo sviluppo di tutti i tipi di applicazioni. Parte della sua popolarità è dovuta alla pletora di pacchetti NPM disponibili per facilitare l'esperienza degli sviluppatori.

Come scrivere e compilare il tuo primo codice di solidità

Come scrivere e compilare il tuo primo codice di solidità

Solidity è il linguaggio di programmazione utilizzato dagli smart contract sulla blockchain di Ethereum. È un linguaggio di programmazione orientato agli oggetti e tipizzato in modo statico.

I 5 migliori badge che supereranno il tuo repository GitHub

I 5 migliori badge che supereranno il tuo repository GitHub

I badge GitHub possono aumentare la leggibilità di un repository fornendo agli utenti un modo rapido per acquisire le metriche del repository. I badge possono essere incorporati nel tuo README.md per chiarire l'importanza e la necessità del tuo progetto ad altri sviluppatori. Di conseguenza, i lettori si fanno un'idea molto veloce del repository controllando i badge allegati.

Che cosè la Giornata internazionale dei programmatori? 3 modi per festeggiare questanno

Che cosè la Giornata internazionale dei programmatori? 3 modi per festeggiare questanno

Le giornate celebrative internazionali sono un bel modo per dare riconoscimento a questioni sociali, giornate storiche e rispettive carriere. La Giornata internazionale dei programmatori celebra il ruolo che i programmatori svolgono per migliorare la vita di tutti i giorni. Il mondo civilizzato in cui viviamo è un prodotto del duro lavoro svolto dai programmatori.

Come funziona il metodo Python String format()? 10 esempi

Come funziona il metodo Python String format()? 10 esempi

Che si tratti di una query di database o di risultati di operazioni matematiche, il metodo del formato stringa Python offre un modo più dinamico e accattivante per presentare i risultati a un utente.

Visual Studio 2022 vs. 2019: dovresti eseguire laggiornamento ora? spiegato

Visual Studio 2022 vs. 2019: dovresti eseguire laggiornamento ora? spiegato

All'inizio di quest'anno, Microsoft ha rilasciato la versione di anteprima di Visual Studio 2022 nel mondo della programmazione selvaggia. Questa è una buona notizia! È un IDE estremamente popolare, ma dovrebbe essere messo a punto o forse anche una revisione, dato il ritmo del cambiamento nell'ecosistema DevOps in cui prospera.

Una semplice introduzione alle metriche del software

Una semplice introduzione alle metriche del software

Le metriche del software sono misure utilizzate per quantificare vari aspetti del software. Questi aspetti possono variare dal costo, alla qualità e all'efficienza del team di sviluppo.

Come installare .NET Framework versione 3.5 su Windows 10

Come installare .NET Framework versione 3.5 su Windows 10

Come utente Windows, probabilmente ti sei imbattuto almeno una volta nelle parole .NET Framework. È un framework software sviluppato da Microsoft che ti consente di creare ed eseguire programmi C#, C++, F# e Visual Basic. L'ultima versione di .NET è la 4.8, ma il tuo computer potrebbe aver bisogno di una versione precedente di .NET (come .NET 3.5) per eseguire alcune app.

Flask o CherryPy: quale framework Python dovresti usare?

Flask o CherryPy: quale framework Python dovresti usare?

Se sei uno sviluppatore Python, puoi trarre grandi vantaggi dalla gamma di framework disponibili. Mentre alcuni framework sono più adatti per grandi ecosistemi, altri sono specializzati nel servire specifici obiettivi di sviluppo. Continua a leggere per apprendere le funzionalità di base, gli usi e le differenze tra due framework Python: Flask e CherryPy.

Come trovare cubi e quadrati perfetti a N cifre utilizzando Python, C++ e JavaScript

Come trovare cubi e quadrati perfetti a N cifre utilizzando Python, C++ e JavaScript

Molti programmatori amano risolvere complicati problemi matematici usando il codice. Aiuta ad affinare la mente e migliorare le capacità di risoluzione dei problemi. In questo articolo imparerai come trovare i quadrati e i cubi perfetti a n cifre più piccoli e più grandi utilizzando Python, C++ e JavaScript. Ciascun esempio contiene anche un output di esempio per diversi valori.

Come aggiungere Python alla variabile PATH di Windows

Come aggiungere Python alla variabile PATH di Windows

L'esecuzione di Python dal terminale è spesso inevitabile. Tuttavia, se hai appena installato Python su Windows 10 per la prima volta, eseguirlo tramite il Terminale di Windows è possibile solo se viene aggiunto alla variabile di ambiente PATH di Windows.

Come usare listruzione if di Python?

Come usare listruzione if di Python?

L'istruzione if è la forza trainante della programmazione logica. Di conseguenza, una migliore comprensione di Python è un'aggiunta significativa alle tue capacità di programmazione in Python.

Come usare Python come calcolatrice da riga di comando

Come usare Python come calcolatrice da riga di comando

Sebbene sia possibile utilizzare una calcolatrice grafica sul computer, l'interprete del linguaggio di programmazione Python può fungere anche da calcolatrice da tavolo. È uno scherzo così popolare nella comunità Python che è menzionato nel tutorial ufficiale. Ecco come puoi usare Python come calcolatrice.

Gli 8 migliori blog Java per programmatori

Gli 8 migliori blog Java per programmatori

Come programmatore, dovresti accettare le sfide per sopravvivere e costruire alcune meraviglie nel campo dello sviluppo o della programmazione. Quindi, se stai cercando di imparare un linguaggio di programmazione avanzato per migliorare le tue capacità professionali, Java è una delle migliori prospettive in circolazione.

7 comandi vitali per iniziare con Python per principianti

7 comandi vitali per iniziare con Python per principianti

Imparare un nuovo linguaggio di programmazione come Python diventa facile se hai una tabella di marcia completa che dettaglia quali concetti imparare come principiante e come progredire ulteriormente per raggiungere il prossimo traguardo. Anche i programmatori intermedi dovrebbero spesso rispolverare le proprie nozioni di base per costruire una solida base per se stessi.

Principi di web design reattivo

Principi di web design reattivo

Al giorno d'oggi, è pratica comune creare un sito Web o un'app che regoli la sua interfaccia utente a seconda del browser o del dispositivo. Ci sono due approcci per raggiungere questo obiettivo. Il primo prevede la creazione di versioni diverse del tuo sito Web o della tua app per dispositivi diversi. Ma è inefficiente e può portare a errori imprevedibili.

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Lavorare con i numeri è parte integrante della programmazione. Ogni linguaggio di programmazione fornisce supporto per manipolare i numeri in molti modi diversi. In questo articolo imparerai come trovare il numero totale di cifre in un numero intero utilizzando approcci iterativi, basati su log e basati su stringhe.

Le 9 migliori alternative Docker per la gestione dei container

Le 9 migliori alternative Docker per la gestione dei container

I container sono estremamente utili per lo sviluppo, la distribuzione e la gestione del software in un ambiente virtuale. Docker è utile nel processo di containerizzazione, ma non è l'unica piattaforma disponibile. Se stai cercando delle alternative a Docker, non cercare oltre. Questo elenco mostra alcune alternative Docker ricche di funzionalità ed efficienti da utilizzare nel tuo prossimo progetto.

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

Come incorporare i tweet nei tuoi post di WordPress

Come incorporare i tweet nei tuoi post di WordPress

Incorporare servizi di terze parti nei tuoi post di WordPress è un modo entusiasmante per catturare l'interesse di un visitatore. Il contenuto incorporato fornisce anche indicazioni visive che semplificano la scansione. WordPress ha reso facile l'aggiunta di questo tipo di contenuto.

Come eliminare la cartella dei moduli del nodo con npkill

Come eliminare la cartella dei moduli del nodo con npkill

Node.js è un ambiente di runtime JavaScript che consente di eseguire JavaScript al di fuori dei browser Web, rendendolo una scelta popolare per lo sviluppo di tutti i tipi di applicazioni. Parte della sua popolarità è dovuta alla pletora di pacchetti NPM disponibili per facilitare l'esperienza degli sviluppatori.

Come scrivere e compilare il tuo primo codice di solidità

Come scrivere e compilare il tuo primo codice di solidità

Solidity è il linguaggio di programmazione utilizzato dagli smart contract sulla blockchain di Ethereum. È un linguaggio di programmazione orientato agli oggetti e tipizzato in modo statico.