boa tarde, não consegui entender pela aula nem pela documentação, o que essas configurações fazem. Alguém podia me explicar detalhadamente o que cada uma das três faz?
boa tarde, não consegui entender pela aula nem pela documentação, o que essas configurações fazem. Alguém podia me explicar detalhadamente o que cada uma das três faz?
Oiii Yago, como você está? Espero que esteja bem ^-^
Antes de partir para esses conceitos, vale mencionar sobre o que é um arquivo estático, que nada mais é do que arquivos que são enviados para o servidor do mesmo modo como estão na nossa máquina. Sendo assim, toda vez que carregamos o site, esses arquivos são apresentados da mesma forma. Arquivos de folha de estilo (CSS), Javascript e imagens são tratados como arquivos estáticos.
No Django, a nomenclatura para essa pasta segue um valor padrão: static. Porém, caso além da pasta static quisermos direcionar outra pasta para o django procurar por arquivos estáticos, podemos fazer isso através da configuração STATICFILES_DIR. Essa configuração serve para mostrarmos ao django caminhos adicionais para que ele procure arquivos estáticos.
Já a configuração STATIC_ROOT está relacionada a quando colocamos o nosso site no ar, ela deve armazenar o caminho onde ficará os arquivos estáticos após executarmos o comando python manage.py collectstatic, que irá gerar uma cópia de todos os nossos arquivos estáticos (incluindo os listados em STATICFILES_DIR) para que possamos colocá-los em um servidor. Então imagine que temos vários aplicativos no projeto e cada um tem sua pasta static, quando executarmos o collectstatic, ele juntará todos esses arquivos em uma mesma pasta no caminho que foi determinado em STATIC_ROOT, como mostro abaixo:
Já a configuração STATIC_URL é a URL de acesso que o django irá usar para procurar os nossos arquivos estáticos. Ao fazermos: STATIC_URL = '/static/'
, estamos definindo que internamente o django faça algo como: http://localhost:8000/static/imagem.png
para procurar algum recurso solicitado.
Espero ter ajudado! Qualquer dúvida estou a disposição.
Abraços e bons estudos!