como organizar projetos em django
TRANSCRIPT
![Page 1: Como organizar projetos em django](https://reader036.vdocuments.com.br/reader036/viewer/2022082515/55c57d63bb61ebd45d8b4610/html5/thumbnails/1.jpg)
Como organizar projetos
Guia do mochileiro
em
Luiz Felipe Sotero
![Page 2: Como organizar projetos em django](https://reader036.vdocuments.com.br/reader036/viewer/2022082515/55c57d63bb61ebd45d8b4610/html5/thumbnails/2.jpg)
Virtualenv
• Sempre use virtualenv!
• Garante que atualizações de projetos não
interfiram entre si.
• Mantém diretório organizado.
• Fácil criação de requirements.
• http://www.jeffknupp.com/blog/2013/12/18/sta
rting-a-django-16-project-the-right-way/
![Page 3: Como organizar projetos em django](https://reader036.vdocuments.com.br/reader036/viewer/2022082515/55c57d63bb61ebd45d8b4610/html5/thumbnails/3.jpg)
Estrutura de pastas
github.com/felipesotero/
generic_django_website
APP
(app)
![Page 4: Como organizar projetos em django](https://reader036.vdocuments.com.br/reader036/viewer/2022082515/55c57d63bb61ebd45d8b4610/html5/thumbnails/4.jpg)
Organização do projeto
• Apps na raiz
• Settings para desenvolvimento e produção
• Templates dentro de cada app
• Uso do app “core” para tudo que não for
específico de um outro app
• Testes para cada app
• http://timmyomahony.com/blog/updated-
django-project-structure-or-folder-layout/
![Page 5: Como organizar projetos em django](https://reader036.vdocuments.com.br/reader036/viewer/2022082515/55c57d63bb61ebd45d8b4610/html5/thumbnails/5.jpg)
Manutenção barata
• Boas práticas
– Thin Views, Fat Models
– http://redbeacon.github.io/2014/01/28/Fat-Models-a-
Django-Code-Organization-Strategy/
• Test Driven Development
– Fazer testes, sempre! De tudo!
– Só commitar código testado!
– http://pt.wikipedia.org/wiki/Test_Driven_Development
• Virtualenv sempre, inclusive em produção.
![Page 6: Como organizar projetos em django](https://reader036.vdocuments.com.br/reader036/viewer/2022082515/55c57d63bb61ebd45d8b4610/html5/thumbnails/6.jpg)
Manutenção barata
• Git
– Master, apenas commit inicial e merges
– Dev, onde se pode desenvolver
– Dev_feature, onde cada feature é desenvolvida.
– Sempre usar merge --no-ff
– http://nvie.com/posts/a-successful-git-branching-model/
• PEP8 e PEP257 (plugins sublime)
• Sempre documente o código!