Django

Archivos estáticos

Archivos estáticos

  • Además del HTML generado por el servidor, generalmente se necesitan archivos adicionales: imágenes, JavaScript o CSS
  • Para proyectos pequeños, sólo basta con ponerlos donde los vea el servidor
  • Para proyectos grandes, se vuelve complejo
  • django.contrib.staticfiles agrupa archivos estáticos de cada aplicación (y cualquier otro lugar que especifiques) en una sola ubicación que puede ser fácilmente servida en producción.

Personalizando el look and feel de nuestra app

  • Creamos una carpeta llamada static en la carpeta encuestas/. Django busca ahí de manera similar a como lo hace con las plantillas.
  • Dentro de la carpeta static, crear otra llamada encuestas.
  • Dentro de ella crear un archivo llamado estilo.css
  • Entonces, quedaría así: encuestas/static/encuestas/estilo.css
  • Se puede referenciar sólo como encuestas/estilo.css (como con las plantillas)

Agregando los estilos

Poner lo siguiente en nuestra hoja de estilos (encuestas/estilo.css)

li a {
    color: green;
}

y lo siguiente arriba de nuestro encuestas/templates/encuestas/index.html:

{% load staticfiles %}

<link rel="stylesheet" type="text/css" href="{% static 'encuestas/estilo.css' %}" />

{% load staticfiles %} carga el templatetag {% static %} de la librería. Éste genera la url absoluta del archivo estático.

Ir a http://localhost:8000/encuestas/ para verlo en accion

Más info

Esto fue sólo lo básico. Para más detalles ver the static files howto y the staticfiles referenceDeployando archivos estáticos discute cómo utilizar archivos estáticos en un server real.

Made with Slides.com