Web em Python - Django - Parte 3
Autor: Julio Cesar Eiras Melanda | Publicado: 2013-08-16T08:00:00-03:00


Fala pessoal!
Heis mais um artigo sobre python web com Django!
Se você ainda não está acompanhando a série, leia os dois primeiros artigos para se inteirar!

Web em Python - Django - Parte 1&nbsp;
Web em Python - Django - Parte 2



Hoje vamos aprender a habilitar a interface de administração do Django e fazer as configurações iniciais para começarmos a criar uma aplicação Django!




Se você se lembra de nosso último artigo, no diretório de seu projeto Django há um arquivo chamado settings.py.


Abra este arquivo e dê uma olhada em seu conteúdo.

Você deve ter reparado que nele são declarados vários atributos (variáveis), os quais serão usados para configurar nosso projeto.

Comece encontrando esta declaração:


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': '/home/usuario/meusite/sqlite.db',
        # The following settings are not used with sqlite3:
        'USER': '',
        'PASSWORD': '',
        'HOST': '',                      
        'PORT': '',                      
    }
}



Tecnicamente, DATABASES é um dicionádio, que contém pares de chaves e valores correspondentes. Toda a configuração do Django é feita a partir de dicionários como estes e tuplas.

Este dicionário especificamente é usado para configurar bancos de dados. Em nosso projeto de estudo usaremos as configurações padrão com SQLite3, assim, não precisamos fazer nenhuma alteração aqui.

Agora, encontre o dicionário


TIME_ZONE = 'America/Chicago'



Esta constante guarda o valor do fuso horário que deve ser usado no site, então, mude para


TIME_ZONE = 'America/Sao_Paulo'



Assim, você configura o site para o fuso horário padrão do Brasil. Você pode usar qualquer fuso horário que preferir, seguindo o padrão acima.

Agora encontre a constante


LANGUAGE_CODE = 'en-us'



Substituindo por


LANGUAGE_CODE = 'pt-br'



Configuando assim o idioma padrão do site para Português do Brasil.

Finalmente, encontre esta tupla


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)



Esta tupla guarda os pacotes das aplicações que serão usadas no seu projeto. Ele já traz descomentados pacotes que tradicionalmente são usados devido à sua necessidade,como autendicação, mensagens, arquivos estáticos e gerenciamento de sessões.

Agora, vamos descomentar a linha da aplicação de administração, ficando então esta tupla assim:


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)



Assim, dizemos para o Django que usaremos a aplicação de administração.

Por hora, isto é tudo que temos que fazer no arquivo settings.

Vamos agora habilitar o mapeamento das urls das páginas de administração.

No mesmo diretório do arquivo settings.py você encontrará um arquivo chamado urls.py. Abram este arquivo.


from django.conf.urls 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'^$', 'meusite.views.home', name='home'),
    # url(r'^meusite/', include('meusite.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)),
)



Este deve ser todo o conteúdo do seu arquivo urls.py. Precisamos descomentar as linhas referentes à aplicação de administração.

Seu arquivo urls.py deve ficar assim:


from django.conf.urls 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'^$', 'meusite.views.home', name='home'),
    # url(r'^meusite/', include('meusite.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, precisamos gerar o banco de dados da aplicação. Mas não se preocupe, não levará mais que alguns segundos.

Volte um diretório, para aquele que contém o script manage.py e execute o comando:

python manage.py syncdb

Escolha yes para configurar o usuário administrador, e em seguida coloque o nome do usuário administrador de seu projeto. Aqui colocaremos admin para o usuário e 123 para a senha. É necessário colocar um email válido (por válido leia-se que deve ter o formato xxx@xxxxx.xxx).

É momento então de rodar o comando

python manage.py runserver

E subir novamente o servidor de desenvolvimento. Agora, acesse http://localhost:8000/admin (lembre-se que localhost e 127.0.0.1 são a mesma coisa).

Você deve ver uma tela como esta:




Pronto! Agora você tem sua interface administrativa configurada!

No próximo artigo começamos a desenvolver nossa própria aplicação!

Abraços e até o próximo artigo!