Ich versuche, meinen Kopf um Cappuccino zu bekommen. Ich möchte, dass meine StackOverview-Kollegen die Architektur unten überprüfen und sehen, ob sie sinnvoll ist - das Ziel ist die Nutzung der einzigartigen Vorteile von Django und Cappuccino, ohne dass sich die Technologien überlappen ...Cappuccino, Django, AJAX, und alles zusammenpassen - überprüfen Sie meine Architektur!
Wenn der Webbrowser anfragt eine 'freundliche' URL (zB /, /, etc):
- Djangos urls.py entspricht dies einer Ansicht.
- Die Aussicht, anstatt Djangos typische Arbeit in einer Vorlage Füllung zu tun mit den Einheimischen Dict, kehrt
die kleinen ‚Stub‘ HTML in ein Cappuccino App direkt verwendet. - Der Client empfängt den Cappuccino HTML
- der Client die Objective J JS URLs in dem Stub HTML erwähnt anfordert
- Der Endbenutzer app ausgeführt wird, und im Browser angezeigt
Der Browser hat jetzt eine funktionierende App. Wenn der Benutzer etwas tut, das etwas vom Server anfordert:
- Der Browser sendet an eine URL ein XMLHTTPRequest.
- Djangos URLs.py entspricht einer Ansicht .
- Die Ansicht funktioniert, möglicherweise in Wechselwirkung mit dem DB-Modell. Aber anstatt eine Vorlage zurückzugeben, gibt Django etwas JSON zurück.
- Der Client erhält den JSON und tut was immer er tun muss.
Macht das Sinn? Wir haben immer noch den Vorteil von freundlichen URLs und die Datenbank wird erstellt, damit wir unseren Code modellieren können. Anstatt jedoch Vorlagen zu verwenden, stellen wir Cappuccino-Stub-Seiten und JSON-Antworten bereit, um den Nutzern mehr wie eine echte App und weniger wie eine HTML-Vorlagen-Engine zu geben.
Gibt es vielleicht einen besseren Weg, Dinge zu tun? Was benutzen andere Pythonisten? Vielen Dank für Ihr Feedback.