Escrevendo sua primeira aplicação Django, parte 6Link para este cabeçalho

Este tutorial começa onde o Tutorial 5 parou. Nós construímos uma aplicação web de enquete testada, e agora nós vamos adicionar uma folha de estilos e uma imagem.

Além do HTML gerado pelo servidor, aplicações web normalmente precisam servir outros arquivos – como imagens, JavaScript, ou CSS – necessário para renderizar a página web completa. No Django, nós chamamos estes arquivos de “arquivos 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.

É para isto que o django.contrib.staticfiles serve: ele coleciona os arquivos estáticos de cada uma de suas aplicações (e qualquer outro lugar que você especifique) em um único local que pode ser facilmente servido em produção.

Personalize a aparência da sua aplicaçãoLink para este cabeçalho

Primeiro, crie um diretório chamado static no seu diretório polls. O Django vai procurar os arquivos estáticos ali, de maneira similar a como o Django encontra os templates dentro de polls/templates/.

A configuração STATICFILES_FINDERS do Django contém uma lista de buscadores que sabem como descobrir os arquivos estáticos de diversas fontes. Um dos padrões é o AppDirectoriesFinder que procura por um subdiretório “static” em cada uma das INSTALLED_APPS, como a polls que nós acabamos de criar. O site de administração usa a mesma estrutura de diretórios para os arquivos 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.

Coloque o seguinte código na sua folha de estilo (polls/static/polls/style.css):

polls/static/polls/style.css
Css
li a {
    color: green;
}

Em seguida, adicione o seguinte no topo de “polls//templates/polls/index.html”:

polls/templates/polls/index.html
Django template
{% load static %}

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

O modelo tag {% static %} gera a URL absoluta para arquivos estáticos.

Isso é tudo que você precisa fazer para o desenvolvimento.

Inicie o servidor (ou reinicie se estiver em execução):

Linux / macOS

Shell
$ python manage.py runserver

Windows

Windows
...\> 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.

Adicionar uma imagem de fundoLink para este cabeçalho

Após, nós vamos criar o subdiretório para imagens. Crie um subdiretório images no diretório polls/static/polls. Dentro deste diretório, coloque uma imagem chamada background.gif. Em outras palavras, coloque sua imagem em polls/static/polls/images//background.gif.

Então, adicione em seu stylesheet (polls/static/polls/style.css):

polls/static/polls/style.css
Css
body {
    background: white url("images/background.gif") no-repeat;
}

Recarregue “http://localhost:8000/polls/” e você deverá ver o fundo carregado no canto superior esquerdo da tela.

Estes são os básicos. Para mais detalhes nas configurações e outras coisas incluídas no framework veja o howto arquivos estáticos. Fazendo deploy de arquivos estáticos discute como usar arquivos estáticos em um servidor real.

Quando você estiver confortável com os arquivos estáticos, leia parte 7 deste tutorial para aprender como personalizar o site de administração gerado automaticamente pelo Django.