Não pode estar em qualquer nível, tem que ser filha direta do diretório da aplicação. É por isso que perfis
e usuarios
, cada um tem a pasta static
. Essa é uma convenção do Django que deve ser seguida.
Porém, como você viu no curso, para podermos acessar os arquivos dentro das páginas static
precisamos usar {% static "nome_do_arquivio" %}" e também usar {% load staticfiles %}
.
Sua pergunta foi muito boa é para uma pergunta boa assim tem um plus :). Segue uma dica, de algo que não falei no treinamento, porque não havia necessidade naquele projeto, mas pode acontecer de um dia você se deparar com essa situação:
O que aconteceria se tivéssemos a seguinte estrutura:
connectedin
perfis
static
styles
a.css
usuarios
static
styles
a.css
Consegue ver o problema? Os dois projetos tem dentro do diretório static
a pasta styles
com mesmo arquivo. Mas suponha que o conteúdo de perfis/static/styles/a.css
seja um e perfis/static/styles/a.css
seja outro. Como faremos para carregar um ou outro arquivo, se tudo está dentro de static? Pegou o problema?
Para resolver, basta mudar um pouquinho a estrutura dos diretórios que ficará assim:
connectedin
perfis
static
perfis
styles
a.css
usuarios
static
usuarios
styles
a.css
Veja que dentro do diretório static
de cada projeto adicionei uma subdiretório com o mesmo nome do projeto. Parece redundante, mas isso resolve o problema de carregarmos dois arquivos com o mesmo nome em projetos diferentes.
Agora, na hora de carregar um ou outro, fazermos assim:
<link href="{% static "perfis/a.css" %}" rel="stylesheet">
<link href="{% static "usuarios/a.css" %}" rel="stylesheet">
Bom, consegui tirar a sua dúvida? O plus que dei, valeu a pena?