| django-clsview. ainda outro sistema de visualização baseado em classe para Django |
Baixe Agora |
django-clsview. Classificação e resumo
- Licença:
- Other/Proprietary Li...
- Nome do editor:
- Zachary Voase
- Site do editor:
- http://github.com/disturbyte/
django-clsview. Tag
django-clsview. Descrição
Ainda outro sistema de visualização baseado em classe para Django O Django-Clsview é um aplicativo Django com outra solução para o problema das visualizações baseadas em classe em Django.installationThe Usual: PIP INSTALAÇÃO DJANGO-CLSView # OREASY_Install Django-CLSViewTere Não há necessidade de adicionar djclsview às suas visualizações instaladas.usageclass. CBVs) são classes que se comportam de maneira semelhante às funções de visualização do Django. O requisito subjacente para visualizações de Django é que eles mapeam solicitações para respostas; Ao usar classes, recebemos os benefícios da herança para reduzir a placa de caldeiras e aumentar a reutilização. Existem muitas abordagens para as visões baseadas em classe; Essa abordagem específica negocia um desempenho muito leve e a pegada de memória para simplicidade e facilitação. Você pode apontar para uma exibição baseada em classe diretamente do URLCONF: URLPatterns = Patterns ('', ... Ver / $ ',' myapp.views.myview ', Name =' My-View '), ...) Para replicar o comportamento de uma função, __new __ () foi substituído; Chamando Classname (Solicitação, * Args, ** Kwargs) Instantizará a classe e, em seguida, ligará o objeto (I.E. OBJ .__ Chamada __ ()), retornando qualquer método retornar (que deve ser uma instância django.http.httpponse). Assim, no nível mais alto, ver as classes podem ser usadas de forma identicamente para visualizar funções. Desde a instanciação usual foi modificada, você pode instanciar uma classe de visualização com ViewClass._New (solicitação, * args, ** kwargs). Isso pode ser útil se você precisar acessar a funcionalidade definida em outra classe de visualização (embora uma classe de utilitário separada ou mixin seja geralmente uma ideia melhor para a funcionalidade compartilhada). Alguns pontos para observar sobre essa implementação: * O método __new __ () foi substituído para chamar imediatamente a instância após a criação. Você não deve precisar tocar isso em uma subclasse. * O processamento de solicitação é realizado em duas fases: - Inicialização: O método __init __ () é chamado em uma instância da classe de visualização, com todos os argumentos passados a partir do URLCONF (IE (Self, Solicitação, * Args, ** kwargs)). Por padrão, este armazena a solicitação, os argumentos posicionais e de palavras-chave na instância como auto.Request, self.args e self.kwargs respectivamente. - Resposta: O método __call __ () é chamado sem nenhum argumento (exceto eu). Isso deve retornar uma instância de django.http.httpresponse. * Decorators nos métodos de instância precisam ser embrulhos com django.utils.decoratorators.method_decorator (): De Somemodule Importar algum_Decorator de django.utils.decorators Import Method_Decorator Classe MyView (Ver): @method_Decorator (Alguns_Decorator) Def Method (self): Return Algo () ExamplessimplessImple Ver definição e invocação: >>> do DJClsView Import view >>> Classe MyVer (Ver): ... def __call __ (auto): ... Imprimir self.request ... Imprimir self.args .. . Imprimir self.kwargs >>> myview ('solicitação', 'arg1', 'arg1', kwarg1 = 'valor', kwarg2 = 'valor') pedido ('Arg1', 'ARG2') {'KWARG1': ' Valor ':' Kwarg2 ':' Valor '} Instantiando uma exibição, evocação do sidestepping: >>> Visualizar = myview._new (' Solicitar ',' argumento ', kwarg =' valor ') >>> Visualizar <__main __
django-clsview. Software Relacionado