explorando django
DESCRIPTION
Apresentação realizada por mim para o Curso de Residência de Reuso da RISE em Recife 27.05.2011 sobre Django.Apresentações sobre Pinax, Django-Piston e Django RegistrationTRANSCRIPT
![Page 1: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/1.jpg)
Explorando o
Marcel P. Caraciolo@marcelcaraciolo
Residência RISE - 2011
Friday, May 27, 2011
![Page 2: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/2.jpg)
Esta palestra está sobre a licença Creative Commons
Residência de Reuso - 2011.1 - Recife/PE
ou seja distribuir , modificar e copiar tudo liberado :D
mas sempre cite a original nos seus créditos
http://creativecommons.org/licenses/by-sa/3.0/
Esta aula faz parte do curso de Residência de Reuso de Software pela RISE
Friday, May 27, 2011
![Page 3: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/3.jpg)
Como é fácil instalar uma app com Django!
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
![Page 4: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/4.jpg)
Django-registration
Django tem um sistema de controle de acesso mas faltam algumas funcionalidades interessantes:
Don’t Repeat yourself!!
Residência de Reuso - 2011.1 - Recife/PE
* Envio de E-mails
* Controle de Acesso Rápido
https://bitbucket.org/ubernostrum/django-registration/wiki/Home
Friday, May 27, 2011
![Page 5: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/5.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
1. Baixe o django-registration
https://bitbucket.org/ubernostrum/django-registration/wiki/Home
Friday, May 27, 2011
![Page 6: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/6.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
2. Copie a pasta registration para sua aplicação
Friday, May 27, 2011
![Page 7: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/7.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
3. Registre no settings.py a nova app
Friday, May 27, 2011
![Page 8: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/8.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
3. Adicione no settings.py a configuração
Friday, May 27, 2011
![Page 9: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/9.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
4. Adicione os novos modelos no banco
python manage.py syncdb
Friday, May 27, 2011
![Page 10: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/10.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
5. Atualize as urls.py
Friday, May 27, 2011
![Page 11: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/11.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
6. Adicione os templates (pasta registration)
login.html — user login form
logout.html — shown after a user has logged out
password_change_form.html — password change form
password_change_done.html — shown after successful password change
password_reset_form.html — ask user for email to send password-reset mail to
password_reset_email.html — template for password-reset mail
password_reset_done.html — shown after password-reset email has been sent
password_reset_confirm.html — ask user for new password after reset
password_reset_complete.html — shown after successful password reset
http://www.junkdrome.com/registration-templates.tar.gz
Friday, May 27, 2011
![Page 12: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/12.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
7. Altere o dominio do site via admin
Os e-mails por padrão vem com chave para example.com
Friday, May 27, 2011
![Page 13: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/13.jpg)
Django-registration
Instalando o Django-Registration
Residência de Reuso - 2011.1 - Recife/PE
8. Teste com seu próprio servidor de e-mails (Gmail)
Adicione no settings.py
EMAIL_HOST = "smtp.gmail.com"EMAIL_HOST_USER = '[email protected]'EMAIL_HOST_PASSWORD = "password"EMAIL_PORT = 587EMAIL_USE_TLS = True
Friday, May 27, 2011
![Page 14: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/14.jpg)
Residência de Reuso - 2011.1 - Recife/PE
Conhecendo os poderes do Pinax
Friday, May 27, 2011
![Page 15: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/15.jpg)
Pinax é Django, logo é Python!
Framework para construção de redes sociais
Construção rápida de wikis, intranets, fórums, etc
Residência de Reuso - 2011.1 - Recife/PE
Suporte para autenticação, forums, badges, friendships, profiles, blogs ,wiki....
App Django e Gratuito!
http://pinaxproject.com/
Friday, May 27, 2011
![Page 16: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/16.jpg)
Conhecendo o Pinax
Residência de Reuso - 2011.1 - Recife/PE
Instalando o pinax
pip install pinax
http://pinaxproject.com/downloads/
ou
Friday, May 27, 2011
![Page 17: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/17.jpg)
Conhecendo o Pinax
Residência de Reuso - 2011.1 - Recife/PE
Após instalado
$ cd Pinax-bundle ...
$ python scripts/pinax-boot.py ../pinax-env
$ source ../pinax-env/bin/activate
$ ..\pinax-env\Scripts\activate.bat (Windows)
Friday, May 27, 2011
![Page 18: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/18.jpg)
Conhecendo Pinax
Residência de Reuso - 2011.1 - Recife/PE
Criando sua primeira rede social
$ pinax-admin clone_project -l
$ pinax-admin clone_project social_project mysite
(pinax-env)$ cd mysite/(pinax-env)$ python manage.py syncdb(pinax-env)$ python manage.py runserver
Friday, May 27, 2011
![Page 19: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/19.jpg)
Conhecendo Pinax
Residência de Reuso - 2011.1 - Recife/PE
Criando sua primeira rede social
Friday, May 27, 2011
![Page 20: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/20.jpg)
Conhecendo Pinax
Residência de Reuso - 2011.1 - Recife/PE
Fazendo o sign-up
Friday, May 27, 2011
![Page 21: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/21.jpg)
Conhecendo Pinax
Residência de Reuso - 2011.1 - Recife/PE
Fazendo o sign-up
Friday, May 27, 2011
![Page 22: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/22.jpg)
Conhecendo Pinax
Residência de Reuso - 2011.1 - Recife/PE
Recomendo o tutorial!
http://www.slideshare.net/pydanny/pinax-long-tutorial-slides
Friday, May 27, 2011
![Page 23: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/23.jpg)
Quero construir uma API para minha aplicação , Django oferece?
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
![Page 24: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/24.jpg)
Residência de Reuso - 2011.1 - Recife/PE
Quero construir uma API para minha aplicação , Django oferece?
Friday, May 27, 2011
![Page 25: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/25.jpg)
Django-Piston
Construção de RESTful APIs On The Go!
Usa mecanismo do Django
Residência de Reuso - 2011.1 - Recife/PE
Suporte ao OAuth assim como Basic/Digest Auth.
Conversa em JSON, YAML, XML, etc.
https://bitbucket.org/jespern/django-piston/wiki/Home
Respeita e encoraja o uso de HTTP statuses codes
Friday, May 27, 2011
![Page 26: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/26.jpg)
Django-Piston
Residência de Reuso - 2011.1 - Recife/PEREST
Roatan Beach - Perfect Day, by Janusz Leszczynski
Friday, May 27, 2011
![Page 27: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/27.jpg)
Django-Piston
Residência de Reuso - 2011.1 - Recife/PE
HTTP Interface
#110 Hypertext Transfer Protocol, by maako
Methods
GET
PUT
POST
DELETE
Cut & Paste
Copy
Paste Over
Paste After
Cut
Friday, May 27, 2011
![Page 28: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/28.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
Consulta de Dados de Informações sobre cidades
1. Consulta por Estados
2. Consulta de Cidades de um Estado
Friday, May 27, 2011
![Page 29: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/29.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
1.Criando o Projeto ibge_project
$ django-admin.py startproject ibge_portal$ cd ibge_portal$ django-admin.py startapp ibge_cidades
Friday, May 27, 2011
![Page 30: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/30.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
2. Criando o Models.py
Friday, May 27, 2011
![Page 31: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/31.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
3. Populando o Banco
Friday, May 27, 2011
![Page 32: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/32.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
4. Criando nossa API$ mkdir api
$ touch api/__init__.py
$ touch api/urls.py
$ touch api/handlers.py
Friday, May 27, 2011
![Page 33: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/33.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
5. Criando os Handlers (Manipuladores)
handlers.py
Friday, May 27, 2011
![Page 34: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/34.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
6.Implementando os Handlers
handlers.py
Friday, May 27, 2011
![Page 35: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/35.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
7. Estamos quase lá!
■ GET /api/estados: Retorna a lista de todos estados;
■ GET /api/cidades/<sigla>: Retorna a lista de todas as cidades do estado identificado por <sigla>.
Friday, May 27, 2011
![Page 36: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/36.jpg)
Django-registration
Construindo uma API Simples
Residência de Reuso - 2011.1 - Recife/PE
8. Definindo as urls.py (raiz)
9. Definindo as urls.py (app)
Friday, May 27, 2011
![Page 37: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/37.jpg)
Django-registration
Agora é só consumir!!
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
![Page 38: Explorando Django](https://reader033.vdocuments.net/reader033/viewer/2022050816/54965427b479594c4d8b4f44/html5/thumbnails/38.jpg)
Bibliografia
Residência de Reuso - 2011.1 - Recife/PE
http://devdoodles.wordpress.com/2009/02/16/user-authentication-with-django-registration/
http://pinaxproject.com/
https://bitbucket.org/jespern/django-piston/wiki/Home
http://www.franciscosouza.com.br/2010/02/06/construindo-uma-api-restful-em-django-e-acessando-com-java/
Friday, May 27, 2011