SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Explorando o


                          Marcel P. Caraciolo
                          @marcelcaraciolo

                         Residência RISE - 2011

Friday, May 27, 2011
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
Como é fácil instalar
                       uma app com Django!


                                      Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
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
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
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
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
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
Django-registration
                       Instalando o Django-Registration
                                5. Atualize as urls.py




                                                         Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
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
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
Conhecendo os poderes do
                                Pinax




                                Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
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
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
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
Conhecendo Pinax

        Criando sua primeira rede social




                                          Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
Conhecendo Pinax

        Fazendo o sign-up




                                          Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
Conhecendo Pinax

        Fazendo o sign-up




                                          Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
Quero construir uma API para minha
                 aplicação , Django oferece?




                                            Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
Quero construir uma API para
minha aplicação , Django oferece?
                           Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
Django-Piston




     REST
Friday, May 27, 2011
                                       Residência de Reuso - 2011.1 - Recife/PE
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
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
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
Django-registration
                       Construindo uma API Simples
                             2. Criando o Models.py




                                                      Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
Django-registration
                       Construindo uma API Simples
                              3. Populando o Banco




                                                     Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
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
Django-registration
                       Construindo uma API Simples
                           6.Implementando os Handlers




                                                          handlers.py


                                                    Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
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
Django-registration
                           Agora é só consumir!!




                                              Residência de Reuso - 2011.1 - Recife/PE


Friday, May 27, 2011
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
Explorando


                        Marcel P. Caraciolo
                        caraciol@gmail.com

                        Residência RISE - 2011

Friday, May 27, 2011

Mais conteúdo relacionado

Mais de Marcel Caraciolo

Como interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com PythonComo interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com PythonMarcel Caraciolo
 
Joblib: Lightweight pipelining for parallel jobs (v2)
Joblib:  Lightweight pipelining for parallel jobs (v2)Joblib:  Lightweight pipelining for parallel jobs (v2)
Joblib: Lightweight pipelining for parallel jobs (v2)Marcel Caraciolo
 
Construindo softwares de bioinformática para análises clínicas : Desafios e...
Construindo softwares  de bioinformática  para análises clínicas : Desafios e...Construindo softwares  de bioinformática  para análises clínicas : Desafios e...
Construindo softwares de bioinformática para análises clínicas : Desafios e...Marcel Caraciolo
 
Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Marcel Caraciolo
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratórioMarcel Caraciolo
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.Marcel Caraciolo
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Marcel Caraciolo
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Marcel Caraciolo
 
Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Marcel Caraciolo
 
Benchy, python framework for performance benchmarking of Python Scripts
Benchy, python framework for performance benchmarking  of Python ScriptsBenchy, python framework for performance benchmarking  of Python Scripts
Benchy, python framework for performance benchmarking of Python ScriptsMarcel Caraciolo
 
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?Marcel Caraciolo
 
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...Marcel Caraciolo
 
Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Marcel Caraciolo
 
Construindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonConstruindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonMarcel Caraciolo
 
Python, A pílula Azul da programação
Python, A pílula Azul da programaçãoPython, A pílula Azul da programação
Python, A pílula Azul da programaçãoMarcel Caraciolo
 
Construindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduceConstruindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduceMarcel Caraciolo
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilMarcel Caraciolo
 
Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?Marcel Caraciolo
 
Aula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursosAula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursosMarcel Caraciolo
 

Mais de Marcel Caraciolo (20)

Como interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com PythonComo interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com Python
 
Joblib: Lightweight pipelining for parallel jobs (v2)
Joblib:  Lightweight pipelining for parallel jobs (v2)Joblib:  Lightweight pipelining for parallel jobs (v2)
Joblib: Lightweight pipelining for parallel jobs (v2)
 
Construindo softwares de bioinformática para análises clínicas : Desafios e...
Construindo softwares  de bioinformática  para análises clínicas : Desafios e...Construindo softwares  de bioinformática  para análises clínicas : Desafios e...
Construindo softwares de bioinformática para análises clínicas : Desafios e...
 
Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratório
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)
 
Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?
 
Big Data com Python
Big Data com PythonBig Data com Python
Big Data com Python
 
Benchy, python framework for performance benchmarking of Python Scripts
Benchy, python framework for performance benchmarking  of Python ScriptsBenchy, python framework for performance benchmarking  of Python Scripts
Benchy, python framework for performance benchmarking of Python Scripts
 
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?
 
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
 
Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks
 
Construindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonConstruindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com Python
 
Python, A pílula Azul da programação
Python, A pílula Azul da programaçãoPython, A pílula Azul da programação
Python, A pílula Azul da programação
 
Construindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduceConstruindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduce
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no Brasil
 
Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?
 
Aula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursosAula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursos
 

Django API para registro

  • 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