Django: CSS no funciona

Todavía soy nuevo en django y tengo problemas con el funcionamiento de mi CSS.
He seguido las instrucciones del enlace: tutorial de Django Static Link , sobre el manejo de archivos estáticos. Pero todavía no funciona.

Ajustes

# Absolute path to the directory static files should be collected to. # Don't put anything in this directory yourself; store your static files # in apps' "static/" subdirectories and in STATICFILES_DIRS. # Example: "/home/media/media.lawrence.com/static/" STATIC_ROOT = '/Users/a9austin/Development/sites/AlphaSocks/src/static_root/' # URL prefix for static files. # Example: "http://media.lawrence.com/static/" STATIC_URL = '/static/' # Additional locations of static files STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. '/Users/a9austin/Development/sites/AlphaSocks/src/staticfiles' ) 

ver

 #from django.http import HttpResponse from django.shortcuts import render_to_response def index(request): return render_to_response('index.html') 

index.html

  

Y organizacion de directorios

src-> staticfiles-> css-> style.css

Muchas gracias, tu ayuda y tu tiempo son muy apreciados!

Para que Django sirva archivos estáticos, debe asegurarse de tener un par de configuraciones.

STATIC_URL

Esta configuración especifica a qué URL se deben asignar los archivos estáticos. Ya has hecho eso.

STATICFILES_DIRS

Esto especifica todas las carpetas en su sistema donde Django debe buscar archivos estáticos. La idea es que puede tener un par de aplicaciones dentro de su proyecto, y cada aplicación puede requerir un conjunto diferente de archivos estáticos. Por lo tanto, para fines organizativos, cada aplicación puede contener un directorio static donde almacenará solo sus archivos estáticos. Entonces, Django tiene que tener una manera de saber dónde están esos directorios. Esto es para lo que esta configuración es.

STATIC_ROOT

Esta configuración especifica dónde Django copiará todos los archivos estáticos y no dónde están los archivos estáticos. La idea es que una vez que deje el desarrollo en producción, Django ya no pueda servir archivos estáticos debido a problemas que no iré aquí (está en el artículo ). Sin embargo, para la producción, todos los archivos estáticos deben estar en un solo directorio, en lugar de muchos como los especificados en STATICFILES_DIRS . Así que esta configuración especifica un directorio en el que Django copiará todos los archivos estáticos de todos los archivos dentro de STATICFILES_DIRS ejecutando el siguiente comando:

 $ python manage.py collectstatic 

Tenga en cuenta que esto solo es necesario una vez que entra en producción y también que el directorio especificado aquí no puede ser el mismo que el directorio especificado en STATICFILES_DIRS .

Urls.py

En desarrollo para que Django sirva tus archivos estáticos, debes incluir las URL estáticas en tu urls.py:

 from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns = ... urlpatterns += staticfiles_urlpatterns() 

Una vez que complete todas las cosas anteriores, sus archivos estáticos se servirán siempre y cuando tenga DEBUG = True . Fuera de la lista anterior, parece que solo completa STATIC_URL . También tenga en cuenta que todos los pasos que describí anteriormente se encuentran en los documentos que vinculó en su pregunta ( enlace ). Puede que sea un poco confuso al principio, pero si lo lees un par de veces, se vuelve más claro.

La adición de RequestContext a la respuesta debe cargar la variable STATIC_URL en la plantilla.

Intenta cambiar:

 from django.shortcuts import render_to_response def index(request): return render_to_response('index.html') 

a:

 from django.shortcuts import render_to_response from django.template.context import RequestContext def index(request): return render_to_response("index.html", context_instance=RequestContext(request)) 

Consulte la documentación de Django sobre Referencias a archivos estáticos en plantillas para obtener más información.