SlideShare uma empresa Scribd logo
Web Framework
THIAGO AVELINO

•   Trabalha com Software Livre desde 2005

•   Desenvolvedor Python desde 2006

•   Committer de alguns projetos OpenSource

    •   CentOS (Kernel)

    •   MongoDB

    •   Algumas bibliotecas Python (MongoEngine)
O QUE É DJANGO?


•   Framework web desenvolvido em Python

•   Padrão MVC

•   Ênfase em reusabilidade e conectividade

•   Desenvolvimento ágil

•   Conceito DRY

•   Open Source
ENTENDENDO O DJANGO
REQUISIÇÕES EM DJANGO
PYTHON


•   Linguagem de programação de alto nível

•   Orientada a objetos

•   Tipagem dinâmica e forte

•   Código legível

•   Indentação obrigatória

•   Open Source
CRIANDO PROJETO EM DJANGO

# django-admin.py startproject oficinadjango
# cd oficinadjango
# ls
__init__.py manage.py settings.py urls.py
# python manage.py runserver
Validating models...
0 errors found

Django version 1.2.3, using settings 'oficinadjango.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
TELA INICIAL DO DJANGO
CONFIGURANDO O PROJETO


Abra o arquivo settings.py

 DATABASE_ENGINE = ‘sqlite3’
 DATABASE_NAME = ‘app.db’
CRIANDO UMA APLICAÇÃO


# python manage.py startapp testando
# cd testando
# ls
__init__.py models.py tests.py views.py
MODELS




•   Cada class é uma table

•   São class que herdam de django.db.models.Model
CRIANDO UM MODELS
INSTALANDO APLICAÇÃO


Abra o arquivo settings.py


 INSTALED_APPS = (‘testando’)
GERANDO BANCO DE DADOS

# python manage.py syncdb
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'avelino'):
E-mail address: thiago.avelino@gonow.com.br
Password:
Password (again):
Superuser created successfully.
Installing index for auth.Permission model
Installing index for auth.Group_permissions model
Installing index for auth.User_user_permissions model
Installing index for auth.User_groups model
Installing index for auth.Message model
No fixtures found.
DJANGO ADMIN


•   Interface grafica de adminstração de todas as aplicações no sistema

•   Orientada a objetos

•   Tipagem dinâmica e forte

•   Código legível

•   Indentação obrigatória

•   Open Source
VIEWS


•   Recebem as requisições dos usuário

•   Retorna uma resposta para a requisição, resposta pode ser uma página HTML ou qual quer
    outro tipo de documento.
TEMPLATE


•   Linguagem simples

•   Template tags

•   Tag Block
CONFIGURANDO TEMPLATE
Crie uma pasta chamada “template” na raiz do seu projeto.

 import os
 MEDIA_ROOT = os.path.dirname(os.path.abspath(__file__))
 TEMPLATE_DIRS = (‘os.path.abspath(os.path.join(MEDIA_ROOT,‘template’)’)
AUTENTICAÇÃO
                                       django.contrib.auth



•   Modulo de autenticação do Django

•   Usuários, grupos e permissões

•   Aplicações plugável
RSS / FEEDS
                           django.contrib.syndication




•   Criação de feeds RSS

•   Aplicações plugável
INTERNACIONALIZAÇÃO


•   Mudar idioma

•   Formato de data

    Mude o arquivo settings.py

     TIME_ZONE = ‘America/Sao_Paulo’
     LANGUAGE_CODE = ‘pt-BR’
     DATE_FORMAT = u’d/m/Y’
OBRIGADO!!! PERGUNTAS?

             Thiago Avelino
     thiago.avelino@gonow.com.br

          Twitter: @avelino0
        Blog: http://blog.avelino.us

Mais conteúdo relacionado

PDF
drupal: ligando os nos da rede
PPTX
Projetos Java com Maven
PDF
Instalando Drupal, Começando do Começo
PDF
Case de integração de user parameter e notes
KEY
Quick intro to Apache Maven
PDF
Offline apps Using Ionic Framework and PouchDB
KEY
MongoDB, Banco de Dados orientado a documento
KEY
Desenvolvendo com mongodb
drupal: ligando os nos da rede
Projetos Java com Maven
Instalando Drupal, Começando do Começo
Case de integração de user parameter e notes
Quick intro to Apache Maven
Offline apps Using Ionic Framework and PouchDB
MongoDB, Banco de Dados orientado a documento
Desenvolvendo com mongodb

Semelhante a Oficina de Django (20)

KEY
Python 06
PDF
Desenvolvimento de uma plataforma de bookmarking social com Django e TDD
PDF
Desenvolvimento web com python e django
PDF
Mini curso introdutório ao Django
PPT
F R A M E W O R K D J A N G O
PDF
Django Básico
PDF
PDF
Django: Desenvolvendo uma aplicação web em minutos
KEY
Django - Desenvolvimento web ágil com Python
PDF
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
PPTX
My first app django
PPT
Cakephp - framework de desenvolvimento de aplicações Web em PHP
PDF
Slide Aula - Curso CakePHP
PDF
Desmitificando as aplicações RESTFul usando Django Rest Framework
PDF
Python mudando o modo de desenvolver para a internet
PDF
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
PDF
Com vocês, Django!
PPTX
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
PDF
Curso AngularJS - Parte 1
PPTX
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Python 06
Desenvolvimento de uma plataforma de bookmarking social com Django e TDD
Desenvolvimento web com python e django
Mini curso introdutório ao Django
F R A M E W O R K D J A N G O
Django Básico
Django: Desenvolvendo uma aplicação web em minutos
Django - Desenvolvimento web ágil com Python
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
My first app django
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Slide Aula - Curso CakePHP
Desmitificando as aplicações RESTFul usando Django Rest Framework
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Com vocês, Django!
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
Curso AngularJS - Parte 1
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Anúncio

Mais de Thiago Avelino (13)

PDF
Bottle, o full stack sem Django
PPT
MongoDB native to web development - London Framework
PPT
O que é CMS? Foco no conteúdo e não no lero lero
PPT
Modelando aplicação em documento - MongoDB
PPT
NoSQL for Search - Riak
PPT
NoSQL, o que realmente é?
KEY
MongoGrid Hosting de MongoDB Open Source
PPT
Node.js em produção, javascript no server side
PPT
Beaga.JS
KEY
Test é para os fracos
PDF
sampa.js end
PDF
sampa.js start
KEY
Integrando python ao mongodb
Bottle, o full stack sem Django
MongoDB native to web development - London Framework
O que é CMS? Foco no conteúdo e não no lero lero
Modelando aplicação em documento - MongoDB
NoSQL for Search - Riak
NoSQL, o que realmente é?
MongoGrid Hosting de MongoDB Open Source
Node.js em produção, javascript no server side
Beaga.JS
Test é para os fracos
sampa.js end
sampa.js start
Integrando python ao mongodb
Anúncio

Último (11)

PDF
Jira Software projetos completos com scrum
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Tipos de servidor em redes de computador.pptx
Jira Software projetos completos com scrum
Eng. Software - pontos essenciais para o início
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Manejo integrado de pragas na cultura do algodão
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Conceitos básicos de Redes Neurais Artificiais
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Utilizando code blockes por andre backes
Viasol Energia Solar -Soluções para geração e economia de energia
Tipos de servidor em redes de computador.pptx

Oficina de Django

  • 2. THIAGO AVELINO • Trabalha com Software Livre desde 2005 • Desenvolvedor Python desde 2006 • Committer de alguns projetos OpenSource • CentOS (Kernel) • MongoDB • Algumas bibliotecas Python (MongoEngine)
  • 3. O QUE É DJANGO? • Framework web desenvolvido em Python • Padrão MVC • Ênfase em reusabilidade e conectividade • Desenvolvimento ágil • Conceito DRY • Open Source
  • 6. PYTHON • Linguagem de programação de alto nível • Orientada a objetos • Tipagem dinâmica e forte • Código legível • Indentação obrigatória • Open Source
  • 7. CRIANDO PROJETO EM DJANGO # django-admin.py startproject oficinadjango # cd oficinadjango # ls __init__.py manage.py settings.py urls.py # python manage.py runserver Validating models... 0 errors found Django version 1.2.3, using settings 'oficinadjango.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
  • 9. CONFIGURANDO O PROJETO Abra o arquivo settings.py DATABASE_ENGINE = ‘sqlite3’ DATABASE_NAME = ‘app.db’
  • 10. CRIANDO UMA APLICAÇÃO # python manage.py startapp testando # cd testando # ls __init__.py models.py tests.py views.py
  • 11. MODELS • Cada class é uma table • São class que herdam de django.db.models.Model
  • 13. INSTALANDO APLICAÇÃO Abra o arquivo settings.py INSTALED_APPS = (‘testando’)
  • 14. GERANDO BANCO DE DADOS # python manage.py syncdb Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table auth_message Creating table django_content_type Creating table django_session Creating table django_site You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (Leave blank to use 'avelino'): E-mail address: thiago.avelino@gonow.com.br Password: Password (again): Superuser created successfully. Installing index for auth.Permission model Installing index for auth.Group_permissions model Installing index for auth.User_user_permissions model Installing index for auth.User_groups model Installing index for auth.Message model No fixtures found.
  • 15. DJANGO ADMIN • Interface grafica de adminstração de todas as aplicações no sistema • Orientada a objetos • Tipagem dinâmica e forte • Código legível • Indentação obrigatória • Open Source
  • 16. VIEWS • Recebem as requisições dos usuário • Retorna uma resposta para a requisição, resposta pode ser uma página HTML ou qual quer outro tipo de documento.
  • 17. TEMPLATE • Linguagem simples • Template tags • Tag Block
  • 18. CONFIGURANDO TEMPLATE Crie uma pasta chamada “template” na raiz do seu projeto. import os MEDIA_ROOT = os.path.dirname(os.path.abspath(__file__)) TEMPLATE_DIRS = (‘os.path.abspath(os.path.join(MEDIA_ROOT,‘template’)’)
  • 19. AUTENTICAÇÃO django.contrib.auth • Modulo de autenticação do Django • Usuários, grupos e permissões • Aplicações plugável
  • 20. RSS / FEEDS django.contrib.syndication • Criação de feeds RSS • Aplicações plugável
  • 21. INTERNACIONALIZAÇÃO • Mudar idioma • Formato de data Mude o arquivo settings.py TIME_ZONE = ‘America/Sao_Paulo’ LANGUAGE_CODE = ‘pt-BR’ DATE_FORMAT = u’d/m/Y’
  • 22. OBRIGADO!!! PERGUNTAS? Thiago Avelino thiago.avelino@gonow.com.br Twitter: @avelino0 Blog: http://blog.avelino.us

Notas do Editor