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
- Piston. Para aplicações Web RESTful. https://bitbucket.org/jespern/django-piston/wiki/Home
Veja mais em Pinax.
Links Relacionados
Um tutorial incial bastante completo. [1]
