2011-05-02 14 views
11

Sto scrivendo un client di syndication, con l'obiettivo di avere un client per i dispositivi e un sito Web con la stessa funzionalità. Svilupperò il sito web usando Django - questo è già deciso; il client deve essere scritto in python con una CLI e una GUI PyQt4. Ho scritto il clinet per primo, ed è abbastanza pesante da database, dato che tutto è memorizzato nella cache per consentirne la lettura offline.Utilizzo di Django meno il server web

Mi ha colpito oggi che avrebbe senso utilizzare i modelli Django per la mia applicazione, per ridurre la ripetizione degli sforzi tra il cliente e il sito web. La mia domanda è quanto sia facile separare questo e quanto di Django ho bisogno nel mio cliente per usare i modelli di Django. AFAIK Non avrei bisogno di eseguire il server, ma cos'altro è necessario? Ho avuto l'idea di generare lo stesso html per il mio client come sito web, ma mostrandolo con i widget Qt piuttosto che servire pagine per un browser.

Qualcuno ha provato questo genere di cose prima? Sto già cominciando da questo, ma sarebbe bene avere un avvertimento di potenziali vicoli ciechi o cose che creeranno un incubo di manutenzione ...

risposta

14

Leggi su standalone Django scripts e sarai sulla strada della vittoria. Fondamentalmente tutto ciò che stai facendo è fare riferimento a Django settings.py (che Django si aspetta) e quindi a using models without web views or urls.

Se tutto quello che ti interessa è utilizzare l'ORM di Django per gestire i tuoi modelli e l'interazione con il database, potresti invece considerare l'utilizzo di SQLAlchemy.

+0

questo sembra fantastico - se io p – theheadofabroom

+0

Se si "p"? Ti sei tagliato lì? :) – jathanism

+0

Lol - sì - Stavo usando uno smartphone - non avevo idea che fosse effettivamente pubblicato. Stavo per dire che avrò un gioco con esso prima di accettare la tua risposta nel caso in cui ci sia qualcosa di più che le esigenze spiegano. Saluti! – theheadofabroom

0

Dovrai comunque eseguire l'app Django come un web server, ma è possibile limitarlo per servire solo a localhost o qualcosa del genere. E certo, puoi usare QtWebKit come client.

+0

Sei sicuro che avrei bisogno di un'app completa per fare questo? Sembra piuttosto pesante, speravo di essere in grado di rimuovere solo le funzioni del database e il motore di template ... – theheadofabroom

+0

@BiggAl Beh, devi rendere i tuoi modelli in qualche modo. Penso che sarebbe più semplice farlo in questo modo. Sembra un grosso problema da affrontare solo perché non ti piace l'idea di un server web. – arussell84

+0

al momento sembra che il metodo @jathanism fornito dovrebbe fare benissimo. Voglio distribuire il client su dispositivi mobili, quindi voglio renderlo il più leggero possibile, tuttavia se lo hai provato prima, non esitare a farmi sapere se hai riscontrato problemi. – theheadofabroom

Problemi correlati