Fala pessoal!Vamos ao quinto artigo sobre Django? Se voce ainda nao leu os ultimos artigos, confira aqui:Web em Python - Django - Parte 1Web em Python - Django - Parte 2Web em Python - Django - Parte 3Web em Python - Django - Parte 4 Hoje criaremos uma tela para exibir os artigos que criarmos no noss blog.Inicialmente, vamos melhorar a nossa classe de modelo. Vamos adicionar parametros para o campos da publicacao para este pegar o momento da publicacao automaticamente, e vamos alterar para que as publicacoes sejam exibidas da mais recente para a mais antiga.Veja bem como fica nossa classe de modelo apos estas alteracoes:from django.db import modelsfrom datetime import datetimeclass Artigo(models.Model): class Meta: ordering = ('-publicacao',) titulo = models.CharField(max_length=100) conteudo = models.TextField() publicacao = models.DateTimeField(default=datetime.now, blank=True)Adicionamos o import para datetime, criamos uma classe interna de metadados do nosso modelo, onde indicamos que artigos serao ordenados por ordem inversa de publicacao (por isto o sinal de -) e colocamos os parametros default=datetime.now e blank=True no atributo da publicacao, respectivamente para dizer que o horario padrao da publicacao sera o da criacao do artigo.Agora, vamos configurar a url para acessar nossos artigos. Altere o arquivo urls.py que esta dentro do diretorio do seu projeto (o mesmo diretorio onde esta o arquivo settings.py).Observe as alteracoes que foram feitas:from django.conf.urls import patterns, include, url# Uncomment the next two lines to enable the admin:from django.contrib import adminfrom django.views.generic import ArchiveIndexViewfrom meublog.models import Artigoadmin.autodiscover()urlpatterns = patterns('', # Examples: # url(r'^$', 'TesteProgrameemPython.views.home', name='home'), # url(r'^TesteProgrameemPython/', include('TesteProgrameemPython.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)), url(r'^$', ArchiveIndexView.as_view(model=Artigo, date_field='publicacao')))Acrescentamos aqui a ultima configuracao de url. O primeiro parametro e uma expressao regular que ira filtrar quais urls devem ser traradas pela view que vem em seguida. Neste caso, a expressao regular '^$' indica que a raiz do site sera gerenciada por esta view. Depois, usamos uma view generica do Django que ja trata a exibicao de publicacoes ordenadas por tempo. Para esta view, passamos qual o modelo que sera exibido, no caso, nossa classe Artigo, e especificamos qual o atributo de data do modelo.Seu projeto Django ja sabe tratar entao os acessos a raiz do site, mas ainda nao temos uma pagina html para renderizar seu conteudo!Vamos entao criar um diretorio templates no diretorio meublog, onde temos o models.py, por exemplo. Dentro do diretorio templates, criamos um diretorio meublog, e dentro dele um arquivo chamado artigo_archive.html.O nome artigo_archive e um nome padrao para esta view generica. artigo por causa do modelo que sera renderizado e archive por ser uma view archive. Dentro do arquivo, coloque o seguinte conteudo:<html> <body> <h1>Meu blog</h1> {% for artigo in latest %} <h2>{{ artigo.titulo }}</h2> {{ artigo.conteudo }} {% endfor %} </body></html>Reparou que usamos tags diferentes das tags HTML comuns? Estas sao tags Django!Tags como {{ artigo.titulo }} sao tags para acessar atributos dos objetos carregados na tela. Ja tags como {% for artigo in latest %} sao tags de controle, temos {% for %}, {% if