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!

Adicionando a 1° Flatpage
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:

Flatpage preenchida
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

Acompanhe a 2° parte do post.

Anúncios

5 Respostas to “Django Flatpages – Debug False ?! uatarelis? Parte 01”

  1. […] Django Flatpages – Debug False ?! uatarelis? Parte 02 Continuação do  post: Parte 01 […]

  2. 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

    • 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!

  3. Oi Fred meu vélho, tudo tranquilo ai?

    o cara ta certo sobre o middleware que tem que ativar :

    ‘django.contrib.flatpages.middleware.FlatpageFallbackMiddleware’

    e esse problema que tu achou que era o middleware que não queria funfar é na verdade culpa da variável “SITE_ID” no settings.py da sua aplicação. Quando você adiciona um site no admin (lá aonde vem um tal de exemplo.com cadastrado por padrão), ele passa a ter ID = 2, porque o site cadastrado como ‘exemplo.com’ tem ID = 1. E como no settings o SITE_ID vem configurado por padrão como 1 da toda essa merda que você e eu sofremos para resolver. Então é só ir até o settings.py e alterar SITE_ID =1 para SITE_ID = 2 e tcharam!!!! nossos problemas se acabaram!!!! =]

    Esse problema eu passei no django 1.1.1, nem sei se foi corrigido em outras versões.

    Achei essa solução fuçando na lista django-brasil que eu sei que tu participa e não podia deixar de compartilhar contigo.

    P.S.:Você ja me ajudou a resolver altos perrengues quando fui instalar o django no uolhost, achei a solução aqui no teu blog, vou ficar em eterno débito contigo.

    Um abração nego.

    Ronaldo.

    • Que bom que tu achou a solução! ^^
      Eu perdi a paciência e fiz na mão mesmo! Tomara que este problema tenha sido resolvido nas versões mais atuais… Nelas eu não precisei de FlatPages, portanto não sei como anda esta questão!

      Que bom que o blog serviu para alguma coisa e quanto a dívida, depois você paga uma cerva e ta de boa !!! XD

      Abraços! ^^

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: