Django

De Pontão Nós Digitais
Django


ou... como desenvolve aplicações Web para vender frango rapidamente...

Esse tutorial cobre todos os passos para se desenvolver uma aplicação Web genérica, podendo ser replicado, a princípio, para atender a demandas de sites para gerenciamento de tabelas/bases de dados qualquer.

Microtutoriais

Passo 1: Instalando e Testando

Passo 2: Criando o Modelo de Dados

Passo 3: Criando a Administração do Site

Passo 4: Criando a Visualização Básica e Genérica

Cada visualização ou ação é associada a uma URL de seu site. Configure o arquivo seu_site/urls.py:

from django.conf.urls.defaults import *

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

urlpatterns = patterns('',
    (r'^polls/$', 'polls.views.index'),
    (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
    (r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
    (r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
)

Cada linha em urlpatterns define uma visualização (um método no arquivo seu_site/views.py) para cada URL. As URLs são especificadas com expressões regulares.

Temos que agora criar os métodos para cada visualização. Edite o seu_site/views.py:

# Create your views here.
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the poll index.")

def detail(request, poll_id):
    return HttpResponse("You're looking at poll %s." % poll_id)

def results(request, poll_id):
    return HttpResponse("You're looking at the results of poll %s." % poll_id)

def vote(request, poll_id):
    return HttpResponse("You're voting on poll %s." % poll_id)

Note que cada método possui o argumento poll_id, que veio da expressão regular (menos index, que não o possui). Podemos criar qualquer tipo de casamento de URL.

Cada view (cada método) tem como obrigação retornar um objeto HttpResponse ou Http404 em caso de não haver o que retornar.

Passo 5: Lidando com Formulários

Passo 6: Lidando com Sessões

Passo 7: Lidando com AJAX

Passo 8: Disponibilizando a aplicação em um servidor definitivo

Passo X: Integrando Bibliotecas JS

Passo X: Visualizando Dados

Apps Interessantes

Veja mais em Pinax.

Links Relacionados

Um tutorial incial bastante completo. [1]

Sobre Apps (relação de apps de interesse)