---
title: "Escribiendo su primera aplicación en Django, parte 6"
version: 6.1
locale: es
source: https://docs.djangoproject.com/es/6.1/intro/tutorial06/
canonical: https://djangodocs.dev/es/6.1/intro/tutorial06/
---
# Escribiendo su primera aplicación en Django, parte 6

This tutorial begins where [Tutorial 5](/es/6.1/intro/tutorial05/) left off.
We’ve built a tested web-poll application, and we’ll now add a stylesheet and
an image.

Aparte del HTML generado por el servidor, las aplicaciones Web por lo general tienen que servir archivos adicionales tales como imágenes, JavaScript o CSS necesarios para renderizar la página web completa. En Django, nos referimos a estos archivos como «archivos estáticos».

For small projects, this isn’t a big deal, because you can keep the static
files somewhere your web server can find it. However, in bigger projects –
especially those comprised of multiple apps – dealing with the multiple sets
of static files provided by each application starts to get tricky.

Eso es para lo que `django.contrib.staticfiles` es: recolecta los archivos estáticos de cada una de sus aplicaciones (y de cualquier otro lugar que usted especifique) en un solo lugar que se puede servir fácilmente en la producción.

> **Dónde obtener ayuda:**
>
> Si tiene problemas para seguir este tutorial, diríjase a la sección [Obteniendo ayuda](/es/6.1/faq/help/) del FAQ.

## Personalice la apariencia de su aplicación

En primer lugar, cree un directorio llamado `static` en su directorio `polls`. Django buscará archivos estáticos allí, del mismo modo cómo Django encuentra las plantillas dentro de `polls/templates/`.

La opción [`STATICFILES_FINDERS`](/es/6.1/ref/settings/#std-setting-STATICFILES_FINDERS) de Django contiene una lista de buscadores que saben cómo hallar archivos estáticos de diversas fuentes. Uno de los predeterminados es `AppDirectoriesFinder` que busca un subdirectorio «static» en cada una de las [`INSTALLED_APPS`](/es/6.1/ref/settings/#std-setting-INSTALLED_APPS), como el que está en `polls` que acabamos de crear. El sitio administrativo utiliza la misma estructura de directorios para sus archivos estáticos.

Within the `static` directory you have just created, create another directory
called `polls` and within that create a file called `style.css`. In other
words, your stylesheet should be at `polls/static/polls/style.css`. Because
of how the `AppDirectoriesFinder` staticfile finder works, you can refer to
this static file in Django as `polls/style.css`, similar to how you reference
the path for templates.

> **Espacio de nombres de archivo estático**
>
> Just like templates, we *might* be able to get away with putting our static
> files directly in `polls/static` (rather than creating another `polls`
> subdirectory), but it would actually be a bad idea. Django will choose the
> first static file it finds whose name matches, and if you had a static file
> with the same name in a *different* application, Django would be unable to
> distinguish between them. We need to be able to point Django at the right
> one, and the best way to ensure this is by *namespacing* them. That is, by
> putting those static files inside *another* directory named for the
> application itself.

Introduzca el siguiente código en esa hoja de estilo (`polls/static/polls/style.css`):

*`polls/static/polls/style.css`*

```css
li a {
    color: green;
}
```

A continuación, agregue lo siguiente en la parte superior de `polls/templates/polls/index.html`:

*`polls/templates/polls/index.html`*

```html+django
{% load static %}

<link rel="stylesheet" href="{% static 'polls/style.css' %}">
```

La etiqueta de plantilla `{% static %}` genera la URL absoluta de los archivos estáticos.

Eso es todo lo que necesitas hacer para desarrollar.

Inicie el servidor (o reinicielo si ya está en ejecución):

```console
$ python manage.py runserver
```

*Windows*

```doscon
...\> py manage.py runserver
```

Reload `http://localhost:8000/polls/` and you should see that the question
links are green (Django style!) which means that your stylesheet was properly
loaded.

## Agregando una imagen de fondo

Next, we’ll create a subdirectory for images. Create an `images` subdirectory
in the `polls/static/polls/` directory. Inside this directory, add any image
file that you’d like to use as a background. For the purposes of this tutorial,
we’re using a file named `background.png`, which will have the full path
`polls/static/polls/images/background.png`.

Then, add a reference to your image in your stylesheet
(`polls/static/polls/style.css`):

*`polls/static/polls/style.css`*

```css
body {
    background: white url("images/background.png") no-repeat;
}
```

Reload `http://localhost:8000/polls/` and you should see the background
loaded in the top left of the screen.

> **Warning**
>
> The `{% static %}` template tag is not available for use in static files
> which aren’t generated by Django, like your stylesheet. You should always
> use **relative paths** to link your static files between each other,
> because then you can change [`STATIC_URL`](/es/6.1/ref/settings/#std-setting-STATIC_URL) (used by the
> [`static`](/es/6.1/ref/templates/builtins/#std-templatetag-static) template tag to generate its URLs) without having to modify
> a bunch of paths in your static files as well.

Estos son los **fundamentos**. Para más detalles sobre la configuración y otra información que se incluye con el framework consulte la [guía paso-a-paso de los archivos estáticos](/es/6.1/howto/static-files/) y [la referencia de los archivos estáticos](/es/6.1/ref/contrib/staticfiles/). [Implementación de archivos estáticos](/es/6.1/howto/static-files/deployment/) habla sobre cómo utilizar los archivos estáticos en un servidor real.

Cuando esté familiarizado con los archivos estáticos, lea la [parte 7 de este tutorial](/es/6.1/intro/tutorial07/) para aprender a personalizar el sitio administrativo generado automáticamente de Django.
