negotiate

Software screenshot:
negotiate
Dettagli del software:
Versione: 0.0.1
Data di caricamento: 14 Apr 15
Sviluppatore: Nick Stenning
Licenza: Libero
Popolarità: 2

Rating: nan/5 (Total Votes: 0)

negoziare è un intelligente, semplice contenuti negoziazione per le applicazioni web Python.
Negoziazione dei contenuti può essere difficile da fare bene. Idealmente, il codice dovrebbe essere asciutto, e non sarebbe ripetere la stessa vecchia boilerplate in più metodi di vista al fine di emettere lo stesso oggetto dominio in diversi formati. negoziare contribuisce a rendere la vita ancora più facile, consentendo di decorare i vostri metodi di visualizzazione con formattatori che traducono automaticamente i tuoi oggetti di dominio nel formato richiesto dal cliente.
E 'molto semplice da usare. Speriamo che questo esempio (per un'applicazione Flask) rende i punti principali chiaro:
# In primo luogo, abbiamo scrivere un paio di formattatori che specificano come tradurre la
# Output della funzione di visualizzazione in un formato particolare. Qui si definisce una
# JSON formattatore e un formattatore HTML che richiede un parametro di template.
da negotiate.flask import Formatter
Classe JSONFormatter (Formatter):
& Nbsp; format = 'json'
& Nbsp; mimetypes = ['application / json']
& Nbsp; def render (self, obj):
& Nbsp; json.dumps ritorno (obj)
HTMLFormatter class (Formatter):
& Nbsp; format = 'json'
& Nbsp; mimetypes = ['text / html']
& Nbsp; def configurare (auto, modello):
& Nbsp; self.template = template
& Nbsp; def render (self, obj):
& Nbsp; ritorno render (self.template, ** obj)
# Poi, quando si costruisce l'applicazione, decoriamo la funzione di visualizzazione con la
# "Negoziare" decoratore, che elenca i formati in cui questo punto di vista è disponibile.
da negotiate.flask import negoziare
@ App.route ('/ messaggi / ')
@ App.route ('/ messaggi / . ')
negotiate (JSONFormatter)
negotiate (HTMLFormatter, template = 'post.html')
def view_post (id, format = None):
& Nbsp; post = Posts.by_id (id)
& Nbsp; post, se è None:
& Nbsp; abort (404)
& Nbsp; se non g.user.authorize ('leggere', post):
& Nbsp; abort (401)
& Nbsp; ritorno {'post': dopo}
Il risultato è un'azione che restituirà una versione HTML del post di default (cioè con Accept: * / * e un formato esplicito), o se l'estensione .html è specificato esplicitamente, o una versione JSON del post se il estensione .json è dato o Accept: application / json viene inviato con la richiesta.
Supporto
negoziano attualmente supporta Flask e Piloni, anche se l'aggiunta di supporto per altri framework web dovrebbe essere abbastanza facile. Date un'occhiata a negoziare / flask.py e negoziare / pylons.py per vedere la piccola quantità di codice di integrazione richiesto

Requisiti :.

  • Python

Altri software di sviluppo Nick Stenning

imaprelay
imaprelay

14 Apr 15

Honcho
Honcho

20 Feb 15

envmgr
envmgr

20 Feb 15

Commenti a negotiate

I commenti non trovato
Aggiungi commento
Accendere le immagini!