Django Flatpages – Debug False ?! uatarelis? Parte 01
Boa noite!
Bom, estive desenvolvendo um site, e resolvi utilizar o maravilhoso Django
!!
Então, como haviam algumas partes “estáticas” ou seja, que eram apenas de texto, como sobre a empresa etc, essas coisas informativas em um site normal, resolvi utilizar as flatpages que o Django oferece!
Para utilizá-las, basta adicionar ao INSTALLED_APPS o seguinte :
‘django.contrib.flatpages’,
E também adicionar ao MIDDLEWARE_CLASSES, o seguinte:
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
Feito isto, basta sincronizar o banco de dados com o comando “python manage.py syncdb” que serão criadas as tabelas referentes aos flatpages!
Bom, agora, é entrar no admin, e cadastrar sua primeira flatpage!
Mas primeiro, vamos adicionar nosso site de maneira correta, para que depois possamos exibir tudo certinho.
Clique no item “Sites” e será exibido um grid com os sites disponíveis.
Você pode ver que primeiro está cadastrado o site “example.com”. Vamos alterar este cabra para “localhost:8000″ se estivermos rodando a partir do servidor do próprio Django ok. Se não, mude para o seu endereço. Ah… sem http ok !!!
Agora sim, vamos adicionar uma nova flatpage para testarmos!

Uma ressalva importante, é se lembrar de colocar na url sempre as barras no começo e no final, e também a questão dos templates. No nosso caso, iremos criar os templates na pasta onde ficam os templates. Pasta esta que foi configurada no arquivo settings.
No meu caso, como minha pasta de templates, chama-se template, e dentro dela, tenho outra pasta para guardar os templates das flatpages, ficou assim:

Feito isto, é só salvar.
Beleza, já temos nossa página de conteúdo (“flatpage”). É verdade, pode chamar http://localhost:8000/”a url salva”
Vai aparecer tudinho que você colocou lá
Bom, mas o motivo deste post foi porque, não consegui encontrar nenhuma solução para o meu problema, e tive que fazer isto “alone in the dark” sozinho!!!
Então. Quando eu coloquei o modo debug como false, começaram os meus problemas. Não encontrava nada! nada! e nada! rsrsrs
Então, pude perceber em vários blogs, listas e links encontrados pelo AmiGoogle, que faltavam-me os arquivos 500.html e 404.html. Mas, “uatarelis dis” ?
Bem, os arquivos 404.html e 500.html são os templates para quando o django não encontra as páginas digitadas! Com o debug = true, isto nunca ocorre. Então, criei os arquivos dentro da pasta dos templates.
Ok, mas mesmo assim, meus problemas não acabaram!! Então, resolvi mais uma vez recorrer ao google, e encontrei um belo link do prórpio Django que me fez ter a idéia para resolução deste problema!
http://code.djangoproject.com/browser/django/trunk/django/contrib/flatpages
13 13UTC julho 13UTC 2009 às 21:41
[...] Django Flatpages – Debug False ?! uatarelis? Parte 02 Continuação do post: Parte 01 [...]
15 15UTC janeiro 15UTC 2010 às 8:47
Olá Fred, tem um pequeno erro no começo do seu tutorial:
“E também adicionar ao MIDDLEWARE_CLASSES, o seguinte:
‘django.contrib.auth.middleware.AuthenticationMiddleware’
enquanto o certo é
‘django.contrib.flatpages.middleware.FlatpageFallbackMiddleware’
[]‘s
15 15UTC janeiro 15UTC 2010 às 9:14
Opa!!!
Na realidade, eu não utilizei este middleware não. Não consegui fazer funcionar o flatpages de modo algum, somente usando a solução que postei aqui, e nela eu não importo este middleware. Mas o detalhe é que ele está comentado no meu código, ou seja, provavelmente eu já devo ter testado com este middleware.
Abraços!