[Python] Applicazione WEB con Python e Postgresql

Daniele Varrazzo piro a develer.com
Mar 23 Set 2014 16:58:25 CEST


On 2014-09-23 15:36, Marco Fochesato wrote:
> Ciao Lista,
> avrei bisogno di un consiglio.
> Ho il mio bel database Postgresql al quale mi interfaccio con 
> Libreoffice e
> con qualche piccola applicazione creata con Python.
>
> Viste le varie esigenze, sto pensando di mettere in piedi un server 
> web e
> creare una o più applicazioni web che vadano ad interfacciarsi al 
> database.
> Sono a digiuno completo di linguaggi per la creazioni di siti web.
> Adoro Python, e mi son avvicinato al framework Django. Ho acquistato 
> il
> libro di Marco Beri e sto completando tutto il tutorial.
> E' la strada giusta?
>
> Lo chiedo perchè vedo parlare in rete di WSGI...
> poi così ad un primo approccio con Django, mi son trovato un po' 
> stretto...
> ho la sensazione di non poter lavorare su un database già costruito.

Si', sei sulla strada giusta. WSGI e' un passo sotto django: serve 
(grossomodo) a collegare un application server (quale e' django, o sono 
flask/bottle) con un web server (come apache o nginx). Tu tipicamente 
userai un app server e sarai un utente wsgi senza neanche accorgertene.

Per quanto riguarda il suo ORM, ci sono diverse cose che trovo *molto* 
opinabili. Comunque non e' un grosso problema ne' farlo lavorare su 
tabelle che hai costruito in precedenza (costruendo i modelli sulle 
tabelle gia' definite, senza che crei quelle stupidissime fkey 
"deferrable initially deferred" che ce li strozzerei) ne' evitare a pie' 
pari l'intero layer dell'orm, evitando di definire modelli e usando 
comandi sql (from django.db import connection, cur = 
connection.cursor(), ...). In questo modo sfrutti es. la sua 
configurazione, la gestione delle transazioni legata alle pagine ecc. ma 
usi il database al massimo della potenza.

...e quando dico "non e' un grosso problema" non usare le tabelle 
autogenerate oppure fare query a mano, intendo "lo faccio sempre": mai 
scritto un programma che usasse la sua autogenerazione o le migrations 
(ogni volta che ne vedo l'sql inorridisco) e appena le cose diventano un 
pelo meno dirette trovo molto piu' semplice scrivere una query invece di 
ricordarmi di usare "data__lte", come si fa l'eagerload... ma forse sono 
di parte.


-- Daniele


Maggiori informazioni sulla lista Python