점프 투 장고 (세팅 파일) 관련하여 공유합니다!

현재 책을 보면,
장고의 세팅 파일들은 다음과 같이 구성되어 있습니다.

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

하지만, 장고 세팅 파일 3.1 이상의 최신 버전을 다운로드 하는 순간

from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

이런 세팅 파일들을 만나게 됩니다.

https://adamj.eu/tech/2020/03/16/use-pathlib-in-your-django-project/

를 참조하면, os.path를 설정하는 것이 pathlib의 Path를 이용하는 것으로 바뀌게 된 것 같습니다.

따라서, 이런 설정으로 하시는 최근 장고 입문하시는 분은

from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [str(BASE_DIR.joinpath('templates'))],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    BASE_DIR / "static",
    '/projects/mysite/static/',
]

로 설정하고, 4-06 이후 settings 파일 분리 시 parent 요소가 추가되어
base.py를

from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent.parent

로 설정하시면 문제없이 실행됩니다.

4-11 이후 prod.py를

from .base import *

----------edit

STATIC_ROOT = BASE_DIR / 'static/'

STATICFILES_DIRS = []

DEBUG = False

로 설정하면 정상 작동 됩니다.

완전 노베이스 비전공자라서, 글을 맞게 작성하였는 지는 모르겠습니다.
선생님께서 보시고, 추가해주면 좋지 않을까 생각이 듭니다!

감사합니다.

sismis123 1954

M 2020년 9월 19일 8:54 오후

이 게시물을 팁과 강좌 게시판으로 이동하였습니다. - 박응용님, 2020년 9월 19일 9:57 오후 추천 , 대댓글
"점프 투 장고" 도 장고 3.1.1 버전에 맞추어 pathlib를 사용하도록 내용이 개편되었습니다. - 박응용님, 2020년 9월 28일 11:34 오전 추천 , 대댓글
목록으로
2개의 답변이 있습니다. 1 / 1 Page

"점프 투 장고" 도 장고 3.1.1 버전에 맞추어 pathlib를 사용하도록 내용이 개편되었습니다.


장고 3.1 로 버전업되면서 pathlib 를 사용하도록 settings.py 내용이 바뀐것 같네요.
"점프 투 장고" 도 알려주신 내용 참조하여 수정해야 겠네요.

잘 정리해 주셔서 감사합니다.

박응용

M 2020년 9월 28일 11:34 오전

감사합니다 - 쿠우아저씨님, 2020년 10월 14일 11:14 오후 추천 , 대댓글

저도 완전 노베이스 비전공자입니다~
엄청 대단하십니다

쿠우아저씨

2020년 12월 18일 11:53 오전