Django nueva versión 3.1, el archivo de configuración tiene algunos cambios
Aug 16 2020
En la nueva versión 3.1 de Django, el archivo de configuración tiene algunos cambios, y vine a preguntar cómo debo proceder para configurar mis archivos estáticos. La forma en que solía hacerlo no funciona más.
Ultimas versiones:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Versión 3.1:
from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
Por lo general, configuro mis archivos estáticos de esta manera:
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')
Si inserto el import os
testamento funcionará, pero ¿es la práctica correcta? ¿Cuál es la mejor práctica para configurar esto? ¿Gracias?
Respuestas
6 Roham Aug 16 2020 at 18:59
Este cambio hace que sea mucho más fácil para usted definir sus variables STATIC
y MEDIA
. Ni siquiera necesita importar os
para este propósito y todo lo que necesita es agregar los siguientes códigos a su 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"
intente esto si desea agregar su STATIC_ROOT dentro del directorio del entorno