verhandeln

Smart, einfache Inhaltsverhandlung für Python-Webanwendungen
Jetzt downloaden

verhandeln Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Nick Stenning
  • Website des Verlags:
  • http://github.com/nickstenning/

verhandeln Stichworte


verhandeln Beschreibung

Verhandeln ist ein intelligenter, einfacher Inhaltsverhandlungen für Python-Webanwendungen.Kontente Verhandlung kann schwierig sein, gut zu tun. Idealerweise sollte Ihr Code trocken sein, und Sie würden nicht in mehreren Ansichtsmethoden dieselbe alte Kesselplatte wiederholen, um das gleiche Domänenobjekt in verschiedenen Formaten auszusenden. Das Verhandlungen hilft, Ihr Leben noch einfacher zu gestalten, indem Sie Ihre Ansichtsmethoden mit Formatern dekorieren, mit denen Ihre Domänenobjekte automatisch in das von der Client angeforderte Format übersetzt.Es ist wirklich einfach zu bedienen. Hoffentlich macht dieses Beispiel (für eine Flasche-Anwendung) die wichtigsten Punkte klar: # Zunächst schreiben wir ein paar Formatierer, die angeben, wie Sie die # Ausgabe der Ansichtsfunktion in ein bestimmtes Format übersetzen. Hier definieren wir ein # JSON-Formatierer und ein HTML-Formatierer, das einen Vorlagenparameter annimmt json.dumps (obj) Klasse HTMLFormatter (Formatierer): Format = 'JSON' Mimetypes = def konfigurieren (selbst, vorlage): self.template = Template def Render (Self, Obj): Rendite Render ( Self.Template, ** Obj) # Wenn Sie dann den Antrag aufbauen, dekorieren wir die Ansichtsfunktion mit dem Dekorator # "Verhandeln", das die Formate auflistet, in der diese Ansicht verfügbar ist '/ posts / ') @ app.route (Beiträge / . ') @ -Unteriate (JsonFormatter) @Negotiate (HTMLFormatter, Template =' post.html ') def view_post (ID, format = none): post = posts.by_id (id) if post lautet keine: Abbruch (404) Wenn nicht g.user.authorize ('read', post): abort (401) return {'post': post} Ergebnis ist eine Ansichtsaktion, die eine HTML-Version des Beitrags von defa zurückgibt Ult (d. H. Mit Accept: * / * und kein explizites Format), oder wenn die Erweiterung von .html explizit angegeben ist, oder eine JSON-Version des Beitrags, wenn die .json-Erweiterung angegeben ist oder akzeptiert wird: Application / JSON wird mit der aktuell anforderung gesendet. Unterstützt Flasche und Pylone, obwohl die Unterstützung von Unterstützung für andere Web-Frameworks ziemlich einfach sein sollte. Schauen Sie sich einen Blick auf den Verhandlungs- / FLASH.PY und verhandeln / pylons.py, um die kleine Menge an Integrationscode erforderlich zu sehen. Product's Homepage


verhandeln Zugehörige Software