negotiate

Tela Software:
negotiate
Detalhes de Software:
Versão: 0.0.1
Data de upload: 14 Apr 15
Revelador: Nick Stenning
Licença: Livre
Popularidade: 31

Rating: 4.0/5 (Total Votes: 1)

negociar é uma inteligente, simples negociação de conteúdo para aplicações web em Python.
Negociação de conteúdo pode ser difícil de fazer bem. Idealmente, o seu código deve ser seco, e você não estaria repetindo o mesmo velho clichê em vários métodos de vista, a fim de emitir o mesmo objeto de domínio em diferentes formatos. negociar ajuda a tornar a sua vida ainda mais fácil, permitindo que você decorar seus métodos vista com formatadores que se traduzem automaticamente seus objetos de domínio no formato solicitado pelo cliente.
É realmente simples de usar. Esperemos que este exemplo (para uma aplicação Flask) faz com que os pontos principais clara:
# Primeiro, escrevemos um par de formatadores que especificam como traduzir a
# Saída da função de visualização para um formato particular. Aqui vamos definir uma
# JSON formatador e um formatador HTML que leva um parâmetro do modelo.
de negotiate.flask importação Formatter
classe JSONFormatter (Formatter):
& Nbsp; format = 'json'
& Nbsp; mimetypes = ['application / json']
& Nbsp; def render (self, obj):
& Nbsp; json.dumps retorno (obj)
HTMLFormatter classe (Formatter):
& Nbsp; format = 'json'
& Nbsp; mimetypes = ['text / html']
& Nbsp; def configurar (self, modelo):
& Nbsp; self.template = template
& Nbsp; def render (self, obj):
& Nbsp; retornar render (self.template, ** obj)
# Então, quando a criação do aplicativo, nós decoramos a função de visão com o
# "Negociar" decorador, listando os formatos em que essa visão está disponível.
de importação negotiate.flask negociar
@ App.route ('/ posts / ')
@ App.route ('/ posts / . ')
negotiate (JSONFormatter)
negotiate (HTMLFormatter, template = "post.html ')
def view_post (id, formato = None):
& Nbsp; post = Posts.by_id (id)
& Nbsp; se post é None:
& Nbsp; abortar (404)
& Nbsp; se não g.user.authorize ("ler", post):
& Nbsp; abortar (401)
& Nbsp; return {'post': pós}
O resultado é uma ação vista que irá retornar uma versão HTML do post por padrão (ou seja, com Accept: * / * e nenhum formato explícito), ou se a extensão .html é explicitamente especificado, ou uma versão JSON do cargo se o extensão .json é dada ou Aceitar: application / json é enviado com o pedido.
Apoio
negociar atualmente suporta Flask e Pilões, embora a adição de suporte para outros frameworks web deve ser muito fácil. Dê uma olhada nas negociar / flask.py e negociar / pylons.py para ver a pequena quantidade de código de integração necessário

Requisitos :.

  • Python

Outro software de desenvolvedor Nick Stenning

imaprelay
imaprelay

14 Apr 15

envmgr
envmgr

20 Feb 15

Honcho
Honcho

20 Feb 15

Comentário para negotiate

Comentários não encontrado
Adicionar comentário
Ligue imagens!