Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde.
Estou iniciando meu primeiro projeto com Django e tenho dificuldades na hora de acessar os arquivos estáticos (css, js, imagens) no navegador.
Estrutura de diretórios
project
-admin
-assets
--css
---application.css
-db
-project
--settings.py
--.......
-manager.py
Em settings.py, tenho:
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
Com o servidor executando, eu tento a seguinte url:
localhost:8000/assets/css/application.css
Entretanto, apenas a tela de boas vindas do Django é mostrada.
Alguma dica?
Grato.
O STATIC_URL é somente o URL usado para referenciar o local indicado por STATIC_ROOT (que é o local onde o Django vai colocar todos os arquivos estáticos -- css,js,img -- quando vc rodar o comando collectstatic).
O que eu faço (e talvez não devesse) é criar um diretório só e incluir na variável STATICFILES_DIRS. Segundo a documentação do Django, se vc criar um diretório static em cada app, ele se vira sozinho (com algumas restrições).
Nota: o STATIC_URL deve terminar em '/' se não estiver vazio.
https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-STATIC_URL
Já faz um tempo que não uso isso, mas eu usava assim:
SITE_ROOT = '/'
STATIC_URL = '/assets/'
ou sem a barra no final do assets
STATIC_URL = '/assets'