Forum >> Programmazione Python >> Web e Reti >> Python / Flask

Pagina: 1

Buongiorno,
Ho sviluppato uno script Python che ho incapsulato in un servizio web mediante l'utilizzo della libreria Flask. Il codice essenzialmente lavora su delle informazioni estratte da file locali csv per trasferirle su un DB Postgres sempre caricato in locale. Il servizio viene invocato dal browser attraverso l'indirizzo https://localhost:5000 e gira che è una meraviglia.

DOMANDA:

Se volessi rendere disponibile tale servizio anche su altri pc quindi non più attraverso l'indirizzo "localhost", quale metodologia potrei eseguire? A naso credo che il codice vada deployato su un server e reso fruibile mediante un endpoint comune, ma non ho idea di come poter eseguire questa operazione. Sapreste chiarirmi questo dubbio che ormai mi affligge da tempo? Ve ne sarei infinitamente grato.

Grazie :)
Ciao caro, Flask forse è un po' riduttivo definirlo solo una libreria, visto è un framework web, ma è solo questione di semantica con ogni probabilità.

Venendo alla tua domanda, se parli di rete locale ti basta aggiungere la direttiva host in app.run(), leggi qui.

Cya
Ok molto chiaro. Ma se volessi esporlo sulla rete esterna? avrei bisogno di un application server?
Ok molto chiaro. Ma se volessi esporlo sulla rete esterna? avrei bisogno di un application server?
Dipende anche da altri fattori, non solo della configurazione di Flask. ;)

Prima condizione, se tu volessi esporlo a tutti, dovresti avere un "qualcosa" (dopo ti dico cosa intendo) di raggiungibile da tutti. Sembra un'ovvietà e me ne scuso, ma si parte inevitabilmente da qui. Avendo un instradamento pubblico, nessuno ti vieta di usare il server integrato in Flask, ma sappi che è una pessima idea, se non per fare qualche test. Hai per fortuna solo l'imbarazzo della scelta, una ricerca veloce su Google ti potrebbe illuminare in merito. Si va da microservizi già pronti all'uso, ad installazioni molto più complesse e... costose (ecco cosa intendevo con quel qualcosa). Anche qui dipende tutto da quello che ti interessa, ovviamente dalla complessità di quello che devi esporre e da quanti accessi prevedi.

Certo, come chiedi all'inizio potresti fare tutto anche solo con un application server (il mio preferito è uWSGI, ma ce ne sono molti altri), anche se sarebbe meglio inserire un web server a monte, come Nginx o Apache, in un flusso simile:

Richieste esterne -> Web Server -> Application Server -> Flask

Guardati questo, ti aiuterà senza dubbio.

Buon divertimento.


Pagina: 1



Esegui il login per scrivere una risposta.