Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henrique Barcelos

Arquivos estáticos com Django

Recommended Posts

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__))
# ...
STATIC_URL = SITE_ROOT + '/assets/'
# ...
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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'

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

https://docs.djangoproject.com/en/dev/howto/static-files/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.