Django nouvelle version 3.1, le fichier de paramètres a quelques modifications
Aug 16 2020
Sur Django nouvelle version 3.1, le fichier de paramètres a quelques modifications, et je suis venu me demander comment je dois procéder pour définir mes fichiers statiques? La façon dont je faisais habituellement ne fonctionne pas plus.
Dernières versions:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Version 3.1:
from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
Je règle généralement mes fichiers statiques comme ceci:
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 j'insère le import ostestament, mais est-ce la bonne pratique? Quelle est la meilleure pratique pour définir cela? Je vous remercie?
Réponses
6 Roham Aug 16 2020 at 18:59
Cette modification vous permet de définir plus facilement vos variables STATICet MEDIA. Vous n'avez même pas besoin d'importer osà cette fin et tout ce dont vous avez besoin est d'ajouter les codes suivants à votre 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"
essayez ceci si vous voulez ajouter votre STATIC_ROOT dans le répertoire d'environnement