Django yeni sürüm 3.1, ayarlar dosyasında bazı değişiklikler var

Aug 16 2020

Django'nun yeni 3.1 sürümünde, ayarlar dosyasında bazı değişiklikler var ve statik dosyalarımı ayarlamak için nasıl ilerlemem gerektiğini sormaya geldim. Genelde yaptığım yol pek işe yaramıyor.

Son versiyonlar:

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

Sürüm 3.1:

from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

Statik dosyalarımı genellikle şu şekilde ayarlarım:

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')

Will'i eklersem import os, ama doğru uygulama bu mu? Bunu ayarlamak için en iyi uygulama nedir? Teşekkür ederim?

Yanıtlar

6 Roham Aug 16 2020 at 18:59

Bu değişiklik, sizin STATICve MEDIAdeğişkenlerinizi tanımlamanızı çok daha kolay hale getirir . osBu amaçla içe aktarmanıza bile gerek yok ve tek ihtiyacınız olan şu kodları kendi hesabınıza eklemek 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"

STATIC_ROOT içindeki ortam dizininizi eklemek istiyorsanız bunu deneyin