Já faz um tempo desde que configurei o Django para funcionar localmente. Estou usando a versão 1.11
. Fazê-lo servir os arquivos estáticos. Meu projeto se chama chatsys
e eu criei a pasta estática e css nesta pasta chatsysstaticcssstyle.css
.
Aqui estão as configurações atuais no arquivo de configurações.
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static")
e nos urls
#for serving static files
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
e finalmente no html
{% load static %}
...
<link rel="stylesheet" type="text/css" href="/static/css/style.css">
no entanto, no console do runserver recebo 404 para /static/css/style.css
Respostas:
3 para resposta № 1Você deve definir STATICFILES_DIRS
e inclua o diretório estático do seu projeto lá.
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
Esses são os diretórios dos quais o Django coleta arquivos estáticos.
Você deve então mudar STATIC_ROOT
para ser um diretório diferente. É o diretório que collectstatic
coleta arquivos estáticos para. A raiz estática não deve estar sob controle de versão.
Como um aparte, você está carregando a tag estática em seu modelo, mas não a está usando. Você pode alterá-lo para:
{% load static %}
...
<link rel="stylesheet" type="text/css" href="{% static "css/style.css" %}">
0 para resposta № 2
Mova sua pasta estática sob o diretório base
- chatsys
- migrações
- modelos
- etc.
- estático
- css
- style.css
- css