Exemplo em Django – parte 2

django-2_abertura

Continuando com o desenvolvimento da “Agenda de Eventos”. Na primeira parte foi criado, através do virtualenv, um ambiente de desenvolvimento e instalado o Django nele. E a partir das ferramentas do framework foi criada a estrutura de um novo projeto (“Agenda”) e nele uma nova aplicação (“events”).

Nesta parte, além de mais um pouco de teoria, a definição do modelo de dados da aplicação (ou apenas modelo) e configuração da interface de administração do Django.

Continuar lendo

Anúncios

Exemplo em Django – parte 1

django-1_abertura

Desde a publicação da primeira parte do (recém corrigido) exemplo em Rails que eu estava com vontade de fazer também um exemplo com usando o Django. E foi assim que surgiu a “Agenda de Eventos”, um exemplo simples mas funcional de, claro, uma agendinha para se registrar eventos diários!

Nesta primeira parte um pouco de teoria e, claro, a configuração do ambiente e os passos necessários para a instalação do framework.

Continuar lendo

Internacionalizando programas em Python

locale-1_abertura

Quando escrevi a versão em Python d’O desafio dos monstros, acabei optando por utilizar as mensagens originais do jogo em inglês. Também citei ser possível traduzi-lo facilmente para o português, ou seja, procurá-las dentro do arquivo “monster_wrestling.py” e substituir cada uma delas.

Porém existe uma forma bem mais elegante e utilizando o suporte a internacionalização disponível no Python para tornar o programa facilmente adaptável para qualquer idioma e sem a necessidade de modificações extras no código.

Continuar lendo

Utilizando o Ansible – parte 4

ansible-4_abertura

Na (agora distante) terceira parte foi introduzido o conceito do playbook. Com eles é possível agrupar diversas tarefas — um módulo e seus parâmetros — em um único arquivo YAML para serem todos executados em um ou mais nós.

Agora é a vez de usar um tipo especial de tarefa, os handlers, para adicionar uma certa inteligência ao playbooks e assim evitar a execução de certas ações de forma desnecessária ou repetida.

Continuar lendo

Argumentos da linha de comando com docopt

docopt-1_abertura

No que diz respeito aos argumentos passados via linha de comando, você pode interpretá-los de forma manual, ou seja, pegando a lista enviada pelo sistema operacional e identificar cada elemento, ou utilizar alguma biblioteca específica para tal função — E, felizmente, há diversas delas e disponíveis para várias linguagens de programação.

Especificamente em Python¹ há uma bastante interessante chamada docopt, que interpreta automaticamente a sintaxe dos argumentos da linha de comando a partir da forma como se convencionou descrever (há tempos) no próprio texto de ajuda —  “- -help” — e nas páginas de manual dos programas.

(¹) Ele foi originalmente escrito para ser usado em Python porém está disponível também para outras linguagens de programação.

Continuar lendo