14
Tutorial Django Neste tutorial você aprenderá a instalar e configurar o Django, além de praticar através de um exemplo. Instalando no Windows Baixe e instale primeiramente o Python (http://www.python.org/download/). A instalação é simples execute o arquivo baixado clique em “Next” e escolha o diretório em que o python será instalado. Ex.: “C:\ Python27\”. Você deve apenas se preocupar em configurar o python na variável de ambiente para que o sistema possa reconhecê-lo automaticamente. Para ter acesso a variável de de ambiente aperte as teclas Windows + Pause (a tecla Windows é a tecla com o logotipo do windows). Janela Propriedades do sistema, clique na aba Avançado e em seguida no botãoVariáveis de ambiente. Na caixa Variáveis do sistema clique sobre a variável com nome path e clique emeditar.

Tutorial Django

Embed Size (px)

DESCRIPTION

python + django

Citation preview

Tutorial Django

Neste tutorial voc aprender a instalar e configurar o Django, alm de praticar atravs de um exemplo.

Instalando no Windows

Baixe e instale primeiramente o Python (http://www.python.org/download/).A instalao simples execute o arquivo baixado clique em Next e escolha o diretrio em que o python ser instalado. Ex.: C:\Python27\.Voc deve apenas se preocupar em configurar o python na varivel de ambiente para que o sistema possa reconhec-lo automaticamente. Para ter acesso a varivel de de ambiente aperte as teclas Windows + Pause (a tecla Windows a tecla com o logotipo do windows).Janela Propriedades do sistema, clique na abaAvanadoe em seguida no botoVariveis de ambiente.

Na caixa Variveis do sistema clique sobre a varivel com nomepathe clique emeditar.

Na janela editar varivel de sistema edite a linha valor da varivel adicionando o caminho do diretrio de instalao do python. Supondo que voc instalou emC:\Python27\adicione ;C:\Python27\no final da linha.

Aps esta etapa o python j estar instalado e configurado.

Agora vamos a instalao do Django que voc pode baixar emhttp://www.djangoproject.com/download/.

Ao baixar o arquivo ele vem com a extensotar.gz, a maioria dos descompactadores mais novos j suportam esta extenso, mas se o seu no suporta voc pode baixar o 7-zip (http://www.7-zip.org/) que tambm um software livre.Descompacte o arquivo onde quiser.Dentro da pasta onde voc descompactou crie um arquivo e chame de instalar.bat, edite usando o bloco de notas e digite:

python setup.py install pause

Salve, feche o arquivo e execute.

Feito isso, o Django estar instalado.Ateno: talvez no seja necessrio o passo a seguir. Verifique se sua verso do python j possui a biblioteca pySQLite.Agora vamos seguir para o ltimo passo: instalar a biblioteca do banco de dados SQLite. O SQLite um banco de dados simples, sem muitos recursos. ideal para o ambiente de criao e desenvolvimento. No d pra fazer muitas coisas com ele, mas voc dificilmente vai precisar de fazer muitas coisas enquanto cria seu site.Para o Django trabalhar em conjunto com o SQLite, preciso apenas instalar uma biblioteca, chamada pySQLite, e nada mais. Ento, v at a pgina seguinte e faa o download do tarball (cdigo-fonte, com extenso .tar.gz).http://oss.itsystementwicklung.de/trac/pysqlite/#Downloads.Se a instalao do pySQLite apresentar erros de compilao no Windows, tente instalar com um dos instaladores executveis disponveis na pgina de download acima. Isso s vezes ocorre por consequncia de algum tipo de incompatibilidade entre compiladores.Aps o download, faa o mesmo que fez com o Django:1. descompacte usando o 7-zip2. crie o arquivo instalar.bat com aquele mesmo cdigo dentro3. execute4. pronto.Agora voc tem um ambiente de desenvolvimento instalado para comear a usar.

Instalando no Linux

Geralmente no linux j vem o Python e o PySQL instalados.Desta maneira apenas necessrio instalar o Django executando o seguinte comando no diretrio onde est o arquivoDjango-1.2.3.tar.gz:

tar xzvf Django-1.2.3.tar.gz cd Django-1.2.3 sudo python setup.py install

Pronto!

Neste tutorial desenvolvemos com Django na IDE Eclipse (http://www.eclipse.org/downloads/).Para utilizar o Django na IDE Eclipse necessrio baixar o plug-inPydev, voc pode fazer isso utilizando o prprio eclipse.Abra o eclipse utilize o menuHelp>Install New Software...Na janela install clique no botoAdd...Na janela Add Site digite o nome:PyDeve Location:http://pydev.org/updates

Dever aparecer duas opes:

Marque a caixa de seleo PyDev e espere o download e configurao do plugin.Aps isto voc ter um ambiente de desenvolvimento Django e poder utilizar a IDE Eclipse para programar.

Agora vamos prtica...

Criando uma Agenda

Criando um projeto com Administrador

Aps configurado o eclipse, vamos criar um projeto Django, clique em novo e escolha a opo PROJECT, depois escolha a opo Django Project e NEXT.

Depois iremos dar um nome ao projeto, que iremos chamar deAgenda, iremos escolher a verso do Python, ou a verso 2.6 ou 2.7, a 3.0 no compatvel com o Django 1.2, agora NEXT.

Por ltimo iremos escolher a verso do Django o banco de dados que iremos usar. Vamos usar a verso 1.2 do Django e vamos usar o Sqlite3 para modelar o banco, pois mais simples de usar para esse exemplo.

Agora basta da um clique em FINISH e o eclipse vai criar uma estrutura iqual a essa.

Vamos em Run, ento o eclipse ir executar o servidor do Django, par ver se esta tudo correto abra umBrowser(Firefox, Chrome. Etc) e vamos digitar o endereo http://localhost:8000/ e iremos ver a seguinte pgina.

Agora vamos habilitar a pgina do administrador do Django, vamos em settings.py, primeiro procure por LANGUAGE_CODE='en-us' e mude para LANGUAGE_CODE='pt-br', assim nossa pgina adminstrador do Django ser em portugus.Procure por 'django.contrib.admin', dentro de INSTALLED_APPSe descomete essa linha apagando o #, preste ateno para que essa linha siga a identao das demais. Feito isso vamos em urls.py e descometamos essas duas linhas,fromdjango.contribimportadmin e admin.autodiscover(), e depois descometamos (r'^admin/',include(admin.site.urls)),.Agora hora de usarmoso comando syncdb para sincronizar os dados da aplicao com o bando e gerar as tabelas do mesmo, vamos da um clique com o boto direito do mouse em Agenda e escolher Django -- > Sync DB. Com isso vamos criar as tabelar referente a pagina administrador do Django e vamos criar um superusurio com nome, e-mail e senha, lembre-se desses dados para os prximos passos. Depois de executado podemos notar que um arquivo foi adicionado na pastasrc, esse arquivo o nosso banco.

Vamos rodar nosso projeto outra vem em RUN e recarregar nossa pagina, se tudo foi feito certinho at agora vamos ver esse erro:

Esse erro ocorreu porque agora temos uma pgina e s usamos a url do servidor, vamos agora tentar entrar nessa url:http://localhost:8000/admin/ e voc ver essa pgina:

Aps ologinentraremos nessa pgina:

Adicionando uma aplicao comTemplate

Para adicionar uma aplicao vamos da um clique com o boto direito do mouse em Agenda-->Django-->createapplication,vamosdaronome de contato a nossa aplicao, depois de aperta OK, vai ser criado uma pasta com o nome contato e quatro arquivos dentro. Vamos agora criar a classe que vai definir nosso contato, abra o arquivo models.py, nesse arquivo vamos definir todas as entidades que sero usadas na aplicao contato, edite o arquivo models.py at ficar assim:

Acabamos de criar uma classe Contato que herda da classe Models e tem os atributos nome, fixo, cel e endereco como campos de caracteres(CharField) com o tamanho especificado no parmetro e um atributo email com um campo de e-mail(EmailField).Vamos fazer com que nossa aplicao se torne parte do nosso sistema, para que isso ocorra vamos abrir novamente o settings.py e adicionar contato no INSTALLED_APPS:

Agora s rodar o camandoSYNC DBque j usamos antes e vamos ver mais uma tabela sendo criada, vamos ento fazer com que nossa pagina de administrador possa interagir com a entidade que criamos, para isso dentro da pasta contado crie um arquivo com o nome admin.py e edite esse arquivo at ficar assim:

Vamos rodar o servidor e ir ver a pagina do administrador, la veremos que Contato j faz parte da nossa pgina, e temos a opo de adicionar um contato e modificar um contato existente.

Clique em adicionar e vamos criar um contato, preencha os dados e clique em salvar, note que o Django j faz tratamento de erro caso voc coloque um e-mail no valido. Aps criar um contado vamos ver que ele vai aparecer em uma lista.

Note que o objeto esta com o nome Contato object, e isso no interessante. Para mudar isso vamos em models.py para criar uma funo que vai retorna o nome do contato.

Recarregando a pagina aps a modificao veremos que agora aparece o nome do contato.

J hora de usarmos templetes para a nossa aplicao, dentro da pasta Agenda vamos criar uma outra pasta com o nome templates, depois de fazermos isso dizer ou Django onde esta esta pasta, para isso abra o settings.py e acrescente esseimportem destaque como mostra na figura, ele importa o os para facilitar na hora de pegar o endereo da pasta onde esta o projeto.

Com oimportfeito, vamos adicionar mais uma mudana no settings.py, s que dessa vez em TEMPLATE_DIRS adicionando o caminho da pasta templates como na figura.

Criando um Template

Crie um arquivo com o nome base.html, ele nosso HTML esttico que ser usado pelos outros HTMLs. Edite-o para que fique assim.

Com essas tags {% block content %}{% endblock %} podemos enviar dados do Django que ser transformado em HTML.Agora dentro da pasta templates criaremos outra pasta com o nome contato, nesta pasta ficar todas os HTMLs de contato, dentro dela vamos criar um arquivo com o nome list.html, vamos us-lo para listar os nossos contatos. Antes de editar esse arquivo precisamos criar a funo que vai passa a lista dos contatos para o HTML, abra o views.py e edite-o assim:

Estamos importando a classe Contato que criamos no models.py e importando funes do Django para redirecionar os dados para um HTML. No comeo da funo criamos a varivelcontatose atribumos a ela todos os contatos, e estamos retornando uma reposta com o endereo do arquivo list.html que criamos antes e a varivelcontatos.Precisamos agora criar aurlque ir chamar essa funo, ento vamos em urls.py e adicionamos a seguinte linha como mostra a figura.

Assim criamos umurlcontato/listar com o endereo da funo que criamos antes, j hora de editarmos o list.html, vamos deixar o arquivo desse jeito:

A gora temos um HTML que vai receber a varivelcontatose vai exibir a lista de contatos, podemos perceber que na primeira linha estamos estendendo a base.html e juntando com o list.html, oblock contentde list.html vai substituir oblock contentda base.html.Depois de salvar tudo vamos rodar o projeto para ativar o servidor e vamos acessar a pgina http://localhost:8000/contato/listar, e se tudo der certo vamos ver a lista de contatos que voc cadastrou na pgina do administrador.

Usando Genricos

Vamos usar agora as funes genricas do Django paracriareeditarum contato. J podemos fazer isso atravs da pgina do administrador, mais vamos fazer isso usando template. Vamos abrir o urls.py e vamos acrescentar mais duas urls, uma para editar e outra para criar, vamos deixar o urls.py assim.

Primeiro importe Contato como mostra na segunda linha, ento vamos fazer a url criar que tem como parmetro a funo genrica create_object , e depois passamos o modelo de Contato, o template que vai ser usado e o endereo que vai ser redirecionado depois de salvo. A url editar bem parecida com a url criar, mais com algumas diferenas, a primeira esse parte do endereo (?P\d+) que tem a funo de pegar o id do objeto que ser editado, e a segunda a funo genrica que dessa vez a update_object.J temos as urls, falta agora criar o arquivo generic_form.html que usamos como parmetro. Os genrico devem ser usador por todas as aplicaes, ento vamos criar esse arquivo dentro da pasta templates, depois de criado vamos edit-lo da seguinte forma.

Agora podemos rodar o projeto e criar novos contatos e editar os j existentes.