Olá.
Nesta parte iremos criar nossa primeira página HTML em Django. Para isso, entre no diretório de seu projeto e digite o comando ./manage.py startapp agenda (caso tenho seguido o passo anteriormente descrito, para diminuir o tamanho do comando manage.py), se não fez isso, digite o comando python manage.py startapp agenda. Após isso, digite o comando ls e você verá que uma nova pasta foi criada dentro de seu projeto com o nome de agenda. Entre dentro da pasta agenda digitando o comando cd agenda. Feito isso, você verá que existem três arquivos dentro dessa pasta: __init__.py, models.py e views.py.
- _init__: Nada mais é do que um pacote do Python;
- models.py: Constrói a tabela do banco de dados de acordo com as definições colocadas no mesmo;
- views.py: Parte de controle. É aqui de definimos funções do nosso CRUD, como por exemplo, pegar todos os objetos salvos no banco de dados e "jogar" no HTML. Deletar um determinado objeto e etc.
Na pasta de seu projeto, digite gedit, ou pico (o editor de sua preferência) seguido de settings.py(você só precisa digitar as primeiras letras de qualquer nome e clicar TAB que o sistema auto-completa a palavra). Após isso, vá até o INSTALLED_APPS. Você verá algo como:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
Abaixo do nome 'django.contrib.staticfiles', digite 'agenda', para ativar essa aplicação do projeto. Feito isso, feche o settings.py e agora entre na urls.py. Dentro desse arquivo, você irá encontrar algo como:
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('',
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'Agenda.views.home', name='home'),
# url(r'^Agenda/', include('Agenda.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)),
)
Abaixo da linha # url(r'^Agenda/', include('Agenda.foo.urls')), digite esse comando: (r'^$', 'agenda.views.index'),
E para que serve isso? É algo sobrenatural?
Como sabemos, e se não souber vai saber agora, que aplicações web funcionam da seguinte maneira.
- Usuário: - Hum...Vou clicar nessa foto "aniversário de Chiquinha";
- Browser(Navegador): - Opa! Recebi uma requisição para abrir a foto "Chiquinha". Ô servidor, quero que você me devolva um arquivo chamado "aniversário_de_Chiquinha.jpeg";
- Servidor: - Tenha calma!. Vou procurar esse arquivo. Pronto. Ai está o arquivo aniversário_de_Chiquinha.jpeg que você me solicitou;
- Browser(Navegador): - Opa.Valeu ai chapa. Usuário, ai está a foto que você solicitou.
Aplicações web funcionam dessa forma. O browser faz requisições ao servidor que, em contra-partida, procura o arquivo solicitado no seu banco de dados e o devolve para o navegador. Então, o mesmo exibe o arquivo solicitado pelo usuário.
Sim, e pra que entender isso?
É para entender que o django permite que o desenvolvedor crie mapas para definir URLs nas quais chamarão funções criadas na views.py. Algo do tipo "pedido/resposta" como foi descrito acima.
Após isso, abra o diretório agenda e abra o arquivo views.py(para não ficar abrindo e fechando diretórios, clique CTRL+T para abrir várias abas. Dentro de cada aba, você pode abrir diretórios e/ou arquivos diferentes). Feito isso, digite esses comandos:
# -*-coding: utf-8-*-
from django.http import HttpResponse
def index(request):
return HttpResponse("Conseguir cria uma página em Django _O/")
Após isso, é só disparar o servidor digitando: ./manage.py runserver ou python manage.py runserver
Pronto. Agora é só abrir o navegador, digitar o endereço do local host: 127.0.0.1:8000 para ver o resultado. Caso já esteja aberto o local host, é só clicar F5.