Django nova versão 3.1, o arquivo de configurações tem algumas mudanças
Aug 16 2020
Na nova versão 3.1 do Django, o arquivo de configurações tem algumas mudanças, e eu perguntei como devo proceder para definir meus arquivos estáticos? O jeito que eu normalmente fazia não funciona mais.
Últimas versões:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Versão 3.1:
from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
Normalmente, defino meus arquivos estáticos assim:
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')
Se eu inserir o import os
funcionará, mas é a prática certa? Qual é a prática recomendada para definir isso? Obrigado?
Respostas
6 Roham Aug 16 2020 at 18:59
Essa alteração torna muito mais fácil definir suas variáveis STATIC
e MEDIA
. Você nem precisa importar os
para este propósito e tudo que você precisa é adicionar os seguintes códigos ao seu settings.py
:
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent # which shows the root directory of your project
STATIC_ROOT = BASE_DIR / 'static' # is equal to os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
MEDIA_ROOT = BASE_DIR / 'media' # is equal to os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
Ankit Nov 17 2020 at 13:44
STATIC_ROOT = BASE_DIR.parent / "static_cdn"
tente fazer isso se quiser adicionar seu STATIC_ROOT dentro do diretório do ambiente
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas