1
resposta

Usando o pathlib para indicar os caminhos dos arquivos estáticos

Dá para usar o modulo pathlib para configurar o caminho dos arquivos estáticos assim:


STATIC_ROOT= BASE_DIR / 'static'
STATICFILES_DIRS = [BASE_DIR / 'setup' / 'static']

Isso evita a necessidade de importar o módulo os.

1 resposta

Oii Henrique, como você está?

Peço desculpas pela demora em obter um retorno.

Fico feliz que tenha compartilhado essa dica com a comunidade do fórum Alura, com certeza ajudará diversos alunos e alunas que encontrarem este post.

Gostaria de reforçar que o modelo de declaração apresentado será funcional para a versão do Django 4 ou superior, onde a partir dessa versão por padrão, a variável BASE_DIR terá o uso da função path do módulo pathlib.

BASE_DIR = Path(__file__).resolve().parent.parent

Em outras versões, por padrão o BASE_DIR era declarado com o módulo os:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

E para o módulo os a simplificação não irá funcionar, podendo ser levantado uma exceção de TypeError.

Uma curiosidade é que a barra utilizada para fazer a junção das pastas na biblioteca pathlib é um “atalho” para a função joinpath.

Caso tenha interesse em saber como a biblioteca Pathlib trabalha com a barra (/) por debaixo dos panos, recomendo o artigo abaixo:

O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.

Qualquer dúvida fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software