Django phiên bản mới 3.1, tệp cài đặt có một số thay đổi
Aug 16 2020
Trên Django phiên bản mới 3.1, tệp cài đặt có một số thay đổi và tôi đã hỏi làm cách nào để tiến hành thiết lập tệp tĩnh của mình? Cách mà tôi thường làm không hiệu quả hơn.
Phiên bản cuối cùng:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Phiên bản 3.1:
from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
Tôi thường đặt các tệp tĩnh của mình như sau:
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')
Nếu tôi chèn di import os
chúc có hiệu quả, nhưng nó có đúng cách không? Cách tốt nhất để thiết lập điều này là gì? Cảm ơn bạn?
Trả lời
6 Roham Aug 16 2020 at 18:59
Thay đổi này giúp bạn xác định các biến STATIC
và của mình dễ dàng hơn rất nhiều MEDIA
. Bạn thậm chí không cần nhập os
cho mục đích này và tất cả những gì bạn cần là thêm các mã sau vào 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"
hãy thử điều này nếu bạn muốn thêm STATIC_ROOT của mình vào bên trong thư mục môi trường