2010-12-10 11 views
1

Ich habe Mako/Pylonen Dokumentation gelesen und habe Probleme, gute Beispiele/Diskussion über die Integration mehrerer Anwendungen in einer einzigen Seite, so zum Beispiel, wenn ich eine Blog-Anwendung und eine Anwendung, die hatte wählt einfach ein zufälliges Zitat aus einer Datenbank mit tollen Zitaten. (das Beispiel ist trivial, nur für die Exposition)Anfänger Pylons/Mako Templating Fragen

Also ich möchte eine einzelne Seite, die beide Anwendungen zeigt, Ich bin mir nicht sicher, wie man über die Vorlagen schreiben, ich habe next.body() gesehen , muss ich den Controller aus der Anwendung in einer Vorlage aufrufen?

Wie könnte ich das im laufenden Betrieb machen?
Kann ich einfach ein Modell erstellen, das die Seite beschreibt, und jede Anwendung, die sie aufrufen will, als Objekt in den Attributen des Modells verwenden? Ich spucke nur hier, in der Hoffnung auf einen Zeiger auf ein Beispiel/Tutorial, das ich überblicken kann.

Danke für jeden Hinweis.

Antwort

2

In Django sind "Anwendungen" Komponenten, die Sie entwickeln oder auswählen, dann anpassen, mischen und zusammenpassen, um Ihre endgültige Website zu erhalten.

In "Pylonen" bezieht sich "Anwendung" auf das Ganze, das Sie erstellen - Controller, Modelle, Vorlagen, Middlewares, Hilfsmodule, Dokumentation usw. Eine Pylons-Anwendung ist eine Menge Code, der als ist von Paster, Apache/mod_wsgi oder jedem anderen WSGI-unterstützenden Webserver.

In Pylone, zu erhalten, zum Beispiel, Blog-Posts und zufällige Zitate in einzelne Seite, würden Sie:

  • Erstellen Sie separate Modelle für die Darstellung und Blog-Einträge und Zitate zu manipulieren, wie myapp.model.Post, myapp.model.Quotation.
  • Erstellen Sie eine Controller-Aktion, die Modelle abfragt, um X-Blog-Posts und ein einzelnes Zitat zu erhalten, und legen Sie sie in ein Datenobjekt, das an die Vorlage übergeben wird.
  • Erstellen Sie eine Vorlage, die sowohl Blogposts als auch das Angebot auf einer einzelnen Seite anzeigt. Diese Vorlage kann natürlich von einer Basisvorlage oder von zugehörigen Vorlagenfragmenten übernommen werden, sodass Sie den üblichen HTML-Code nicht über viele Vorlagen kopieren und einfügen müssen.

Hoffe, das hilft!