Sto cercando di capire come funziona Cappuccino. Mi piacerebbe che i miei colleghi di StackOverview rivedessero l'architettura qui sotto e vedessero se aveva senso - l'obiettivo è quello di sfruttare i vantaggi unici di Django e Cappuccino senza raddoppiare dove le tecnologie si sovrappongono ...Cappuccino, Django, AJAX e montare tutto insieme - rivedi la mia architettura!
Quando il browser web richiede un URL 'friendly' (ad esempio, /,/articoli, ecc):
- urls.py di Django corrisponde a questo ad una vista .
- La vista, piuttosto che fare il lavoro Djangos tipica di compilare un modello con la gente del posto dict,
restituisce il piccolo HTML 'stub' utilizzato in un cappuccino app direttamente. - Il client riceve il Cappuccino HTML
- Il client richiede l'obiettivo J JS URL citati nel HTML stub
- L'applicazione per l'utente finale viene eseguita e visualizzata nel browser
Il browser ora ha un'app funzionante. Quando l'utente fa qualcosa che chiede qualcosa dal server:
- il browser invia una XMLHTTPRequest a un URL.
- Django's URLs.py corrisponde a una vista .
- La vista funziona, forse interagendo con il modello DB. Ma invece di restituire un modello, Django restituisce alcuni JSON.
- Il client riceve il JSON e fa tutto ciò che deve fare.
Ha senso? Abbiamo ancora il vantaggio di URL amichevoli e il database creato per noi per modellare il nostro codice. Tuttavia, anziché utilizzare i modelli, forniamo le pagine stub di Cappuccino e le risposte JSON, al fine di offrire agli utenti qualcosa di più simile a un'app reale e meno simile a un motore di template HTML.
C'è forse un modo migliore di fare le cose? Cosa usano gli altri Pythonistas? Grazie per il vostro feedback