Django nuova versione 3.1, il file delle impostazioni ha alcune modifiche
Aug 16 2020
Sulla nuova versione 3.1 di Django, il file delle impostazioni ha alcune modifiche e sono venuto a chiedermi come devo procedere per impostare i miei file statici? Il modo in cui facevo di solito non funziona più.
Ultime versioni:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Versione 3.1:
from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
Di solito imposto i miei file statici in questo modo:
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 inserisco il import os
testamento, ma è la pratica giusta? Qual è la migliore pratica per impostare questo? Grazie?
Risposte
6 Roham Aug 16 2020 at 18:59
Questa modifica rende molto più facile definire le tue variabili STATIC
e MEDIA
. Non è nemmeno necessario importare os
per questo scopo e tutto ciò di cui hai bisogno è aggiungere i seguenti codici al tuo 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"
prova questo se vuoi aggiungere il tuo STATIC_ROOT all'interno della directory dell'ambiente