segunda-feira, 19 de dezembro de 2011

Dizendo um "Conseguir cria uma página em Django _O/"

Olá.
Nesta parte iremos criar nossa primeira página HTML em Django. Para isso, entre no diretório de seu projeto e digite o comando ./manage.py startapp agenda (caso tenho seguido o passo anteriormente descrito, para diminuir o tamanho do comando manage.py), se não fez isso, digite o comando python manage.py startapp agenda. Após isso, digite o comando ls e você verá que uma nova pasta foi criada dentro de seu projeto com o nome de agenda. Entre dentro da pasta agenda digitando o comando cd agenda. Feito isso, você verá que existem três arquivos dentro dessa pasta: __init__.py, models.py e views.py.
  • _init__: Nada mais é do que um pacote do Python;
  • models.py: Constrói a tabela do banco de dados de acordo com as definições colocadas no mesmo;
  • views.py: Parte de controle. É aqui de definimos funções do nosso CRUD, como por exemplo, pegar todos os objetos salvos no banco de dados e "jogar" no HTML. Deletar um determinado objeto e etc.
Na pasta de seu projeto, digite gedit, ou pico (o editor de sua preferência)  seguido de settings.py(você só precisa digitar as primeiras letras de qualquer nome e clicar TAB que o sistema auto-completa a palavra). Após isso, vá até o INSTALLED_APPS. Você verá algo como:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

Abaixo do nome 'django.contrib.staticfiles', digite 'agenda', para ativar essa aplicação do projeto. Feito isso, feche o settings.py e agora entre na urls.py. Dentro desse arquivo, você irá encontrar algo como:


from django.conf.urls.defaults import patterns, include, url

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
                  

    # Examples:
    # url(r'^$', 'Agenda.views.home', name='home'),
    # url(r'^Agenda/', include('Agenda.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
)

Abaixo da linha # url(r'^Agenda/', include('Agenda.foo.urls')), digite esse comando: (r'^$', 'agenda.views.index'),

E para que serve isso? É algo sobrenatural?
Como sabemos, e se não souber vai saber agora, que aplicações web funcionam da seguinte maneira.
  • Usuário: - Hum...Vou clicar nessa foto "aniversário de Chiquinha";
  • Browser(Navegador): - Opa! Recebi uma requisição para abrir a foto "Chiquinha". Ô servidor, quero que você me devolva um arquivo chamado "aniversário_de_Chiquinha.jpeg";
  • Servidor: - Tenha calma!. Vou procurar esse arquivo. Pronto. Ai está o arquivo aniversário_de_Chiquinha.jpeg que você me solicitou;
  • Browser(Navegador): - Opa.Valeu ai chapa. Usuário, ai está a foto que você solicitou.
Aplicações web funcionam dessa forma. O browser faz requisições ao servidor que, em contra-partida, procura o arquivo solicitado no seu banco de dados e o devolve para o navegador. Então, o mesmo exibe o arquivo solicitado pelo usuário.

Sim, e pra que entender isso?


É para entender que o django permite que o desenvolvedor crie mapas para definir URLs nas quais chamarão funções criadas na views.py. Algo do tipo "pedido/resposta" como foi descrito acima.



Após isso, abra o diretório agenda e abra o arquivo views.py(para não ficar abrindo e fechando diretórios, clique CTRL+T para abrir várias abas. Dentro de cada aba, você pode abrir diretórios e/ou arquivos diferentes). Feito isso, digite esses comandos:



 # -*-coding: utf-8-*-

from django.http import HttpResponse

def index(request):
  return HttpResponse("Conseguir cria uma página em Django _O/")

Após isso, é só disparar o servidor digitando: ./manage.py runserver  ou python manage.py runserver

Pronto. Agora é só abrir o navegador, digitar o endereço do local host: 127.0.0.1:8000 para ver o resultado. Caso já esteja aberto o local host, é só clicar F5.
 

quarta-feira, 26 de outubro de 2011

O que é Django

Olá.

Estou aqui para falar um pouco sobre minha experiência com o framework Django. Tal framework foi construido utilizando a linguagem Python e é muito poderoso para construção de aplicações web, pois possui as seguintes qualidades:

·        Geração automática de formulários e facilitação na manipulação de dados;
·        Gerencia a autenticação de usuários e possui controle de permissões;
·        Facilidade na internacionalização de sistemas;
·        Sistema de testes automatizados, entre outras qualidades.

As desvantagens, na minha opinião, é que pessoas que conhecem apenas o básico da programação não conseguirão ou irão demorar muito para aprender a utilizar tal framework, pois a maioria dos tutorias começa com uma abordagem muito complicada para pessoas iniciantes, pois mostram como fazer um CRUD (nada mais é do que as quatro operações básicas realizadas por um banco de dados qualquer que são: criar, recuperar, atualizar e deletar) sem explicar em detalhes os comandos que serão utilizados na construção do mesmo.






Começo do estudo do Django

Olá,

Quando comecei a estudar Django, não gostei muito do mesmo, pois não somente a linguagem era bastante "esquisita" como também, não sabia como configurá-lo. Nos primeiros 5 dias, comecei a buscar na internet tutorias sobre como instalar e configurar o Django e achei um livro interessante chamado Apredendo Django no Planeta Terra¹. Achei interessante o livro para estudar, porém, o mesmo ensinava a utilizar o Django utilizando o sistema operacional  Windows, que na minha opinião, é bem ruim³ para mexer com o Django, pois os comandos são mais complexos que no Linux. Após isso, comprei um livro do Django chamado Python e Django - Desenvolvimento ágil de aplicações web, onde o mesmo ensina a configurar e criar um CRUD no Django utilizando o Linux. Achei bem melhor, pois os comandos do Linux são bem mais práticos e fáceis de memorizar.




¹: http://dl.dropbox.com/u/1552368/aprendendo-django-vol-1.pdf

Início da construção de um CRUD chamado Agenda

Olá,

Bem, após uma leitura no referido livro na postagem anterior, comecei a criar um CRUD simples no qual o mesmo iria armazenar uma agenda de compromissos com data, hora, descrição e título. Porém,  antes de iniciar a construção de tal CRUD, o livro faz um pequeno exercício no qual você tem que criar uma página html que contenha um "Olá mundo". Abaixo está um pequeno exemplo de como resolver esse pequeno exercício no Linux.

1 - Primeiramente você deve ter a certeza que o Django está instalado em seu computador. Para isso, basta você abrir o terminal Linux e digitar o seguinte comando: django-admin.py . Se o terminal executar esse comando, seu Django já está apto para ser usado.

2 - Após isso, você deve criar um diretório no qual o mesmo irá conter os seguintes arquivos: __init__.py; manage.py; settings.py e urls.py. Para criar tal diretório com esses arquivos, basta você digitar o seguinte comando: django-admin.py startproject nome_do_projeto . Após isso, utilize o comando do Linux cd para abrir o diretório no qual você acabou de criar; o comando fica assim:  cd nome_do_projeto . Após isso, caso queira, você pode disparar o servidor¹ que vem junto ao Django para ver a tela de apresentação do mesmo. O comando para disparar tal servidor é o seguinte: python manage.py runserver .  Para facilitar sua vida, digite o comando chmod +x manage.py , onde tal comando irá dar permissão para o arquivo manage.py ser executando apenas digitando ./manage.py . Feito isso, basta abrir o navegador de sua preferência e digitar o seguinte endereço de ip: 127.0.0.1:8000 . Você deve ver uma exibiçãode tela igual a da figura abaixo.

 Tela de boas-vindas do Django


Continua...