2012/5/30 Fábio Elísio <
fabio....@gmail.com>
> Luciano me tira uma duvida, to dando uma estudada aqui nessa classe que
> gera o JSON (no caso api), eu poderia fazer ela direto no view não poderia?
> no caso porque vc fez essa separação? Valeu ta muito show de bola....
Realmente, Fãbio, normalmente as Generic Views ficam no arquivo views.py.
Mas ao desenvolver este exemplo eu experimentei o Tastypie, uma
biblioteca para fazer APIs REST em Django, e vi que nela eles usam
esta convenção de colocar suas definições em um arquivo api.py e achei
uma boa idéia, creio que ajuda na organização do projeto: as views
"tradicionais" que geram páginas HTML ficam em views.py, e as views
que geram respostas JSON ficam em api.py.
Por sinal, achei o Tastypie muito bom mesmo, porém percebi que ele
fazia muito mais do que eu precisava: neste projeto a API REST é
apenas para consulta, e muito da complexidade do Tastypie está no
tratamento de autenticação e operações que modificam os dados, mas eu
precisava apenas gerar JSON para leitura. Por isso acabei não usando
ele.
No final acho que ficou também um exemplo didático de especialização
de Generic Views.
Falando nisso, fiz uns diagramas UML para me ajudar a entender e
explicar as class-based Generic Views do Django:
http://turing.com.br/material/acpython/mod3/django/views1.html#modelo-de-classes-das-views-genericas-list
Os diagramas fazem parte do material da Academia Python, que terá uma
nova turma às 2as e 4as começando em agosto.
Grato pelo feedback, Fábio!
[ ]s
Luciano