Nos primeiros dias, desenvolvedores web escreviam cada página na mão. Atualizar um website significava editar o HTML; O "redesign" envolvia refazer cada página, uma de cada vez.
Com o crescimento dos websites tornou-se algo mais ambicioso, rapidamente tornou-se óbvio que aquela situação era tediosa, improdutiva, e extremamente insustentável. Um grupo de empreendedores hackers do NCSA(Centro nacional para aplicações de supercomputadores, onde Mosaic, o primeiro web browser gráfico foi desenvolvido) resolveram esse problema permitindo que o web server renderizasse dinamicamente o HTML. Eles chamaram esse protocolo de Commom Gateway Interface, ou CGI, e isso mudou a web para sempre.
É difícil agora imaginar a revelação que o CGI deve ter sido: Ao invés de tratar as páginas HTML como simples arquivos em disco, CGI permite pensar em suas páginas como recursos gerados dinamicamente sob demanda. O desenvolvimento do CGI inaugurou a primeira geração das páginas dinâmicas.
Entretanto, CGI tinha seus problemas: Scripts CGI precivam ter um monte de códigos "verbosos", tornando a reutilização problemática, podendo ser difícil para programadores de primeira viagem escreverem e entenderem.
PHP arrumou muitos desses problemas, e assim conquistou o mundo - Hoje de longe é a ferramenta mais popular usada para criar páginas dinâmicas, e diversas outras linguagens similares e ambientes(ASP, JSP, etc.) seguiram o design do PHP de perto. A maior inovação do PHP é a sua facilidade de utilização: código PHP é simplesmente incrementada dentro do HTML; Sua curva de aprendizado para quem já conhece HTML é extremamente simples.
Mas PHP tinha seus próprios problemas; É muito fácil enconrajar desleixo, repetição e mal concebido código. Pior, PHP não incentiva a programadores se preocuparem sobre as vunerabilidades de segurança, e por causa disso muitos programadores PHP se encontraram aprendendo sobre segurança apenas quando já era tarde.
Estas e outras frustrações permitiram diretamente o desenvolvimento da safra da "terceira geração" de frameworks web. Esses frameworks - Django e Ruby on Rails aparentemente são os mais populares hoje em dia - reconhecendo a importância da web nesses últimos tempos. Com essa explosão do desenvolvimento web veio também outra incrível ambição: Desenvolvedores web esperam ser produtivos e criarem mais e mais todos os dias.
Django foi inventado para alcançar essas ambições. Django permite criar profundamente, dinamicamente, interessantes sites em muito pouco tempo. Django foi modelado para que você se foque na diversão, nas partes interessantes do seu trabalho, eliminando processos dolorosos repetitivos. Ao usá-lo, ele permite em alto nível abstrações de bons padrões em desenvolvimento web, atalhos para frequentes tarefas, e tendo convenções claras de como resolver problemas. E também Django tenta permanecer fora do seu caminho, permitindo você fazer seu trabalho fora do escopo que o framework necessita. Nós escrevemos esse livro porque acreditamos firmemente que Django faz o desenvolvimento web ser melhor. Ele é orientado para rapidamente criar seus próprios projetos Django, e de uma vez ensinar tudo o que você precisa saber para criar, desenvolver e colocar no ar um site que você tenha orgulho.
Nós estamos extremamente interessados em seu feedback. Esse livro é open source e todos são bem vindos para melhorá-lo. Se você prefere mandar sugestões, por favor nos mande um e-mail em [email protected]. De qualquer forma adoraríamos ouvir o que você tem a dizer. Estamos felizes que você esteja aqui, e esperamos que você ache o Django excitante, divertido e útil como para nós é.