O documento discute a instalação e configuração do pacote Django-registration para fornecer funcionalidades de registro e acesso de usuários em um projeto Django. Ele também aborda a construção de uma API simples usando o framework Django-Piston para recuperar dados sobre estados e cidades do Brasil.
1. Explorando o
Marcel P. Caraciolo
@marcelcaraciolo
Residência RISE - 2011
Friday, May 27, 2011
2. Esta palestra está sobre a licença Creative Commons
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
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
3. Como é fácil instalar
uma app com Django!
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
4. Django-registration
Django tem um sistema de controle de acesso mas faltam
algumas funcionalidades interessantes:
* Envio de E-mails
* Controle de Acesso Rápido
https://bitbucket.org/ubernostrum/django-registration/wiki/Home
Don’t Repeat yourself!!
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
5. Django-registration
Instalando o Django-Registration
1. Baixe o django-registration
https://bitbucket.org/ubernostrum/django-registration/wiki/Home
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
6. Django-registration
Instalando o Django-Registration
2. Copie a pasta registration para sua aplicação
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
7. Django-registration
Instalando o Django-Registration
3. Registre no settings.py a nova app
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
8. Django-registration
Instalando o Django-Registration
3. Adicione no settings.py a configuração
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
9. Django-registration
Instalando o Django-Registration
4. Adicione os novos modelos no banco
python manage.py syncdb
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
10. Django-registration
Instalando o Django-Registration
5. Atualize as urls.py
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
11. Django-registration
Instalando o Django-Registration
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
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
12. Django-registration
Instalando o Django-Registration
7. Altere o dominio do site via admin
Os e-mails por padrão vem com chave para example.com
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
13. Django-registration
Instalando o Django-Registration
8. Teste com seu próprio servidor de e-mails (Gmail)
Adicione no settings.py
EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = 'email@gmail.com'
EMAIL_HOST_PASSWORD = "password"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
14. Conhecendo os poderes do
Pinax
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
15. Pinax é Django, logo é Python!
Framework para construção de redes sociais
Construção rápida de
wikis, intranets, fórums, etc
http://pinaxproject.com/
Suporte para autenticação, forums, badges,
friendships, profiles, blogs ,wiki....
App Django e Gratuito!
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
16. Conhecendo o Pinax
Instalando o pinax
pip install pinax
ou
http://pinaxproject.com/downloads/
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
17. Conhecendo o Pinax
Após instalado
$ cd Pinax-bundle ...
$ python scripts/pinax-boot.py ../pinax-env
$ source ../pinax-env/bin/activate
$ ..pinax-envScriptsactivate.bat (Windows)
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
18. Conhecendo Pinax
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
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
19. Conhecendo Pinax
Criando sua primeira rede social
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
20. Conhecendo Pinax
Fazendo o sign-up
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
21. Conhecendo Pinax
Fazendo o sign-up
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
22. Conhecendo Pinax
Recomendo o tutorial!
http://www.slideshare.net/pydanny/pinax-long-tutorial-slides
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
23. Quero construir uma API para minha
aplicação , Django oferece?
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
24. Quero construir uma API para
minha aplicação , Django oferece?
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
25. Django-Piston
Construção de RESTful APIs On The Go!
Usa mecanismo do Django
https://bitbucket.org/jespern/django-piston/wiki/Home
Suporte ao OAuth assim como Basic/Digest Auth.
Conversa em JSON,YAML, XML, etc.
Respeita e encoraja o uso de HTTP statuses codes
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
26. Django-Piston
REST
Friday, May 27, 2011
Residência de Reuso - 2011.1 - Recife/PE
27. HTTP Interface
Django-Piston
Methods Cut & Paste
GET Copy
PUT Paste Over
POST Paste After
DELETE Cut
Residência de Reuso - 2011.1 - Recife/PE
#110 Hypertext Transfer Protocol, by maako
Friday, May 27, 2011
28. Django-registration
Construindo uma API Simples
Consulta de Dados de Informações sobre cidades
1. Consulta por Estados
2. Consulta de Cidades de um Estado
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
29. Django-registration
Construindo uma API Simples
1.Criando o Projeto ibge_project
$ django-admin.py startproject ibge_portal
$ cd ibge_portal
$ django-admin.py startapp ibge_cidades
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
30. Django-registration
Construindo uma API Simples
2. Criando o Models.py
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
31. Django-registration
Construindo uma API Simples
3. Populando o Banco
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
32. Django-registration
Construindo uma API Simples
4. Criando nossa API
$ mkdir api
$ touch api/__init__.py
$ touch api/urls.py
$ touch api/handlers.py
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
33. Django-registration
Construindo uma API Simples
5. Criando os Handlers (Manipuladores)
handlers.py
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
34. Django-registration
Construindo uma API Simples
6.Implementando os Handlers
handlers.py
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
35. Django-registration
Construindo uma API Simples
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>.
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
36. Django-registration
Construindo uma API Simples
8. Definindo as urls.py (raiz)
9. Definindo as urls.py (app)
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
37. Django-registration
Agora é só consumir!!
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
38. Bibliografia
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/
Residência de Reuso - 2011.1 - Recife/PE
Friday, May 27, 2011
39. Explorando
Marcel P. Caraciolo
caraciol@gmail.com
Residência RISE - 2011
Friday, May 27, 2011