Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Problemas com a atualização do código CSS

O CSS não está sendo utilizado quando atualizo algo no código.

Tentei fazer uma aplicação para praticar e vi que não deu certo na hora de incluir o meu CSS na mão, teste a pagina HTML sem o flask e ela recebeu o estilo passado pelo CSS, só que quando eu rodava a pagina com o flask ela simplesmente não carregava as alterações tanto de TAGs novas passadas ao HTML para mudar estilos, quanto de alterações no arquivo CSS, fui olhar no navegador e vi que o CSS enviado era o primeiro que eu tinha salvo, sem levar em conta as alterações:

Segue os diretórios do teste:

│   teste1.py
│   app.py
│
├───static
│       site.css
│
├───__pycache__
│       teste1.cpython-35.pyc
│
└───templates
        index.html

O código utilizando flask e os outros FLASK:

https://gist.github.com/MarcosYaiama/dadc4b7fbd17f3552671d48591748a7f

Tentei aquele lance de caminho dinâmico, mas o resultado foi o mesmo, ele não pega alterações no CSS, cheguei a colocar um arquivo JS só que o problema foi o mesmo, ele não capta alterações no arquivo, acabei q tirando o JS pra focar em um problema de cada vez, lembrado q o JS q eu coloquei só estava modificando o texto através de um dom simplão, tirei ele e o resultado com o CSS foi o mesmo, antes do JS tambem não estava funcionando.

index.html:

https://gist.github.com/MarcosYaiama/0cda81c5f442c8cf36ce918faa0d8a26

Fui verificar o código CSS no navegador e vi que ele não era atualizado, nenhum dos estilos abaixo foi aplicado usando flask, mas eles entram na pagina quando só jogo a página html no browser.

site.css:

https://gist.github.com/MarcosYaiama/574df3fd3ad867518af9444d2d9d05b9

Testado esse código sem sucesso utilizando flask pensei que talvez eu estivesse errando alguma coisa, então me voltei ao curso para analisar o código e ver se tinha algo dando errado, só que quando fui adicionar um flash para exibir a mensagem, a mesma apareceu conforme o video, só que sem o estilo CSS passado pela classe colocada na tag , verifiquei o código html no browser e está tudo normal, porem o estilo bootstrap não foi adicionado, mesmo eu não tendo nem mexido no arquivo bootstrap.

Resumindo, o flask manteve o estilo mas não os adicionou para o código novo que foi adicionado para recebe-lo, mesmo mantendo o estilo CSS passado a todas as páginas feitas anteriormente.

Segue os códigos e caminho das pastas:

│   jogoteca.py
│
├───templates
│       lista.html
│       novo.html
│       template.html
│       login.html
│
├───.idea
│   │   misc.xml
│   │   modules.xml
│   │   Flask.iml
│   │   workspace.xml
│   │
│   └───codeStyles
│           codeStyleConfig.xml
│
└───static
        bootstrap.css

Código HTML da pagina de login, onde o estilo da mensagem não está sendo aplicado:

https://gist.github.com/MarcosYaiama/2d6f6ab6df00bf7c0d7841605dc2a703

O código python utilizando Flask:

https://gist.github.com/MarcosYaiama/5eed74d232523884492d8cdcc1de5059

O arquivo bootstrap é o mesmo e não foi alterado.

Desculpem o amontoado de links, é a minha primeira vez utilizando gist, vou dar uma fuçada depois pra ver como organizar melhor as coisas utilizando pastas ...

5 respostas

Oi Nicolas,

Não entendi muito bem, este post tem a ver com a pergunta de URLs dinâmicas?

Respondi o tópico lá... se for este dê uma olhada. Se não for não entendi qual a dúvida, edita este post e coloca a dúvida aqui se puder.

Abraços!

Luan

Acabei de alterar, coloquei os códigos no gist e organizei melhor as idéias, eu ia apagar e fazer denovo só que não achei essa opção, acabei de atualizar.

Tem haver com os estilos CSS, tentei com URL dinâmica e os resultados foram os mesmos, reiniciei meu ambiente no terminal e tambem não atualizou

Voltei a ter esse mesmo problema, abri o inspetor do meu navegador e achei o problema, o Flask não está enviando o arquivo CSS atualizado para o navegador executar.

Como resolvo?

solução!

Opa,

Pode ser alguma configuração do browser. O flask por si só deveria atualizar a pasta static toda vez que o projeto é modificado.

  1. Tente fazer um CTRL + F5 pra ver se os estilos atuais aparecem, se aparecerem pode ser o seu navegador que está fazendo cache dos arquivos.

  2. tem uma configuração que talvez ajude se o CTRL + F5 não resolver, faça no seu arquivo Jogoteca.py

app = Flask(__name__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0

Espero que dessa vez resolva.

:)