O que é Django?
por MoIP LabsDjango é um framework Web para desenvolvimento ágil, escrito em Python, que utiliza o padrão MVC (Model-View-Controller), protegido por uma licença BSD hoje se encontra na versão 1.3.1. O nome Django foi inspirado no músico de jazz Django Reinhardt. Django utiliza o princípio DRY (Don’t Repeat Yourself), onde faz com que o desenvolvedor aproveite ao máximo o código já feito, evitando a repetição.
As principais características do Django são:
- Mapeamento Objeto-Relacional (ORM): com o ORM do Django você define a modelagem de dados através de classes em Python. Com isso é possível gerar suas tabelas no banco de dados e manipulá-las sem necessidade de utilizar SQL (o que também é possivel);
- Interface Administrativa: no Django é possivel gerar automaticamente uma interface para administração para os modelos criados através do ORM;
- Formulários: é possível gerar formulários automaticamente através dos modelos de dados;
- URLs Elegantes: no Django não há limitações para criação de URLs elegantes e de maneira simples;
- Sistema de Templates: o Django tem uma linguagem de ”templates” poderosa, extensível e amigável. Com ela você pode separar design, conteúdo e código em Python;
- Sistema de Cache: o Django possui um sistema de ”cache” que se integra ao memcached ou em outros frameworks de cache.
- Internacionalização: Django tem total suporte para aplicações multi-idioma, deixando você especificar strings de tradução e fornecendo ganchos para funcionalidades específicas do idioma.
A instação do Django é bem simples, a maneira mais recomendável é utilizar o pip ou easy_install para facilitar a manutenção nas atualizações:
pip: $ sudo pip install django easy_install $ sudo easy_install django
Após instalado o Django talvez algmas dependências ainda fiquem faltando. Recomenda-se que instale as bibliotecas de Python para suporte a banco de dados de acordo com o banco de dados de deseja utilizar e o docutils para ver as páginas de documentação administrativas do admin.
Feito isso, o desenvolverdo já estará habilitado a criar seu primeiro projeto em Django, para fazer isso basta executar o seguinte comando:
$ django-admin.py startproject exemplo
Agora, com o projeto criado veja como ficou a organização do mesmo:
exemplo/ |-- __init__.py |-- manage.py |-- settings.py |-- urls.py
Então, para iniciar o seu projeto é preciso fazer algumas configurações básicas no projeto.
No arquivo settings.py descomente a linha 7 e insira os seus dados e na linha 14 troque para:
'ENGINE': 'django.db.backends.sqlite3',
Nessa modificação estamos dizendo que o banco de dados a ser utilizado pelo projeto será o SQLite. Agora, na linha 15 insira o caminho para o arquivo que irá conter os dados do projeto:
'NAME': 'exemplo.db',
Na linha 30, tem a opção de TIME_ZONE, no caso desse exemplo foi alteradad para ‘America/Sao_Paulo’, mude para a de sua preferência. Outra opção, na linha 34, é a de linguagem, nesse exemplo mudamos para ‘pt-BR’, na linha acima tem um link para todos códigos possíveis.
Agora, uma funcionalidade interessante a ser habilitada são as páginas do admin, para proceder a instalação descomente as linhas 119 e 121 do settings.py. Com essas modificações o settings.py esta configurado para o exemplo.
Lembre-se de criar o arquivo do banco de dados:
$ touch exemplo.db
Agora, vamos configurar o arquivo urls.py, basta descomentar as linhas 4, 5, 13 e 16, resultando em:
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'^$', 'exemplo.views.home', name='home'),
# url(r'^exemplo/', include('exemplo.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)),
)
Agora, com as edições básicas feitas é preciso de fato criar o banco de dados, veja:
[root@localhost exemplo]# python manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table auth_message Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (Leave blank to use 'root'): E-mail address: root@exemplo.com Password: Password (again): Superuser created successfully. Installing custom SQL ... Installing indexes ... No fixtures found.
Feita todas as configurações devidas é hora de iniciar o projeto, na ocasião desse exemplo o servidor esta localizado na máquina com IP 192.168.1.125 mas pode ser inciado localmente:
$ python manage.py 192.168.1.125:8000 Validating models... 0 errors found Django version 1.3.1, using settings 'exemplo.settings' Development server is running at http://192.168.1.125:8000/ Quit the server with CONTROL-C.
Será possível observar no terminal todo o log HTTP do projeto. Agora, basta ir na url http://192.168.1.125:8000/admin do projeto e autenticar o usuário criado no banco de dados. O login tendo ocorrido com sucesso a página a ser exibida será:
Como foi possível ver nesse artigo é bem simples começar um projeto em Django.
Por hora, finalizamos esse artigo e em próximos artigo veremos como dar continuidade a esse projeto.
Links:
Django: www.djangoproject.com
Django Brasil: www.djangobrasil.org
Django Book: www.djangobook.com
Django Videos: www.djangovideos.com




