Pra quem não teve a oportunidade de ver minha palestra na Python Brasil, falei de customizações na admin do Django. Seguem o vídeo e os slides :) Customizando Admin do Django from Gustavo Carvalho

Template Context Processors (TCP) é uma feature que o Django utiliza pra acessar variáveis em qualquer template. Provavelmente já os usamos diversas vezes sem perceber, seja no MEDIA_URL, STATIC_URL, debug ou mesmo no user, que retorna o usuário atualmente autenticado na sessão ou um objeto AnonymousUser caso não esteja autenticado. Todos esses exemplos podem ser acessados simplesmente por {{ user }}, ou {{ debug }}, sendo que nenhuma dessas variáves está em nenhuma das views que escrevemos. Read on →

Com mais de um mês desde a nona edição da Python Brasil, finalmente consegui arrumar meia hora pra tentar (quando eu digo tentar, é só tentar mesmo) colocar em palavras o que foi o evento. A minha experiência com comunidade é nova, iniciou-se em março/13 quando comecei a trabalhar com Python na 128Bits e, mais ainda na Python Nordeste 2013. Lá na #PyNe pude começar a ver a magnitude daquilo e comecei a imaginar até onde aquilo poderia me levar. Read on →

Dia 07/06/13 foi realizado no DIE-UFPI o primeiro encontro do PUG-PI. Confesso que superou as minhas expectativas. Imaginei que por ser o primeiro não teríamos aquela quantidade de pessoas (pelo menos a quantidade inicial), não contei, mas era algo entre 15 e 20 pessoas. É verdade que alguns precisaram sair antes do final e entendo muitos outros que não puderam comparecer, afinal foi tudo muito rápido, não tivemos muito tempo para divulgar e organizar melhor, mas ainda assim eu digo que foi um sucesso; ao fim tivemos tivemos 8 guerreiros que conseguiram resolver o problema. Read on →

Recentemente desenvolvi um projeto em Django e depois do deploy, quando o DEBUG foi setado para False, o site começou gerar o erro 500. Perambulando por aí descobri que como medida se segurança, as versões mais recentes do Django introduziram uma configuração chamada allowed hosts pra prevenir “envenenamento de cache”. Essa configuração é uma lista dos hosts/domínios os quais esse site pode servir. Para resolver o problema, basta incluir no seu settings.py a configuração ALLOWED_HOSTS contendo uma lista com os seus endereços de domínio e/ou IP’s do seu servidor. Read on →