반응형
파일설명
manage.py
manage.py: Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티
config/디렉토리내 파일
- mysite/init.py: Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일
- settings.py: 현재 Django 프로젝트의 환경 및 구성을 저장
- urls.py: 현재 Django project 의 URL 선언을 저장
- asgi.py: ASGI 호환 웹 서버가 프로젝트를 제공하기위한 진입점
- wsgi.py: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점
settings.py 파일 설명
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
- 프로젝트의 root path를 저장
- os.path.dirname : 디렉토리명만 얻기
- os.path.abspath(file) : 현재 프로그램의 의 절대 경로 얻기
SECRET_KEY="***"
- Djago 설치를 위한 특별한키
- 설정되어 있지 않다면 장고는 시작되지 않으며 만약 노출된 키를 이용하면 취약점이 발생됨
DEBUG = True
- 오류발생시 디버깅을 표시
- 배포판에서는 False로 변경시켜줘야함
ALLOWED_HOSTS = []
- 실제 서비스를 제공할 도메인 주소를 기입
- DEBUG 플래그가 False일 때 Django는 ALLOWED_HOSTS 리스트에 자신이 실제로 서비스를 런칭할 웹 사이트의 도메인이 없으면 DisallowedHost 예외를 발생시키며 작동하지 않음
- CSRF 공격으로부터 웹 사이트를 보호하기 위해 필요한 조치
INSTALLED_APPS = []
- Django 의 기본 어플리케이션
- django.contrib.admin //관리용
- django.contrib.auth //인증
- django.contrib.contenttypes //컨텐츠 타입
- django.contrib.sessions // 세션
- django.contrib.messages // 메세징
- django.contrib.staticfiles //정적 파일을 관리
MIDDLEWARE = []
Django의 요청/응답처리 중간에서 작동하는 시스템
장고는 http 요청이 들어오면 미들웨어를 거쳐서 해당 URL 에 등록되어 있는 뷰로 연결해주고, http 응답 역시 미들웨어를 거쳐서 내보냄
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
장고는 http request 가 들어오면 위에서부터 아래로 미들웨어를 적용시킨다.
장고는 http response 가 나갈 때 아래서부터 위로 미들웨어를 적용시킨다.
ROOT_URLCONF = "config.urls"
- ROOT_URLCONF의 설정에 의하여 사용자가 웹사이트의 페이지를 요청할 때, 예로 "/polls/34/"를 요청했다고 하면, Django는 config.urls 파이썬 모듈을 불러오게 됨
TEMPLATES = []
- Django 템플릿 설정
- DIRS: [] Django가 템플릿들을 찾는 디렉토리 경로를 지정
- APP_DIRS: True True 일 경우 Django는 각 어플리케이션 패키지 내에서 templates/ 서브 디렉토리를 자동으로 찾음
DATABASES = {}
- 데이터베이스의 설정
AUTH_PASSWORD_VALIDATORS = []
AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
},
{"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",},
{"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",},
{"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",},
]
- 사용자 비밀번호의 유효성 검증
- UserAttributeSimilarityValidator 비밀번호가 사용자 정보와 비슷한지 확인
- MinimumLengthValidator 비밀번호가 최소 길이를 충족하는지 확인 기본길이는 최소길이가 9
- CommonPasswordValidator 일반적으로 사용되는 비밀번호 인지 확인확인
- NumericPasswordValidator비밀번호가 완전히 숫자가 아닌지 확인합니다.
Internationalization and localization 국제화 및 현지화
- LANGUAGE_CODE = "ko-kr" //프로젝트 국가
- TIME_ZONE = "Asia/Seoul" // 데이터베이스의 시간
- USE_I18N = True // 번역 시스템 활성화 여부
- USE_L10N = True // 현지화된 데이터 형식 사용여부
- USE_TZ = True //시간대 인식여부
STATIC_URL = "/static/"
- CSS, JavaScript, Media와 같은 정적 파일 경로
'django' 카테고리의 다른 글
9. Django Application 제작시 고민해야 되는 부분 (0) | 2020.07.15 |
---|---|
8. Django admin (0) | 2020.07.13 |
6. 국내 서비스를 위한 config/settings.py 수정 (2) | 2020.07.09 |
5. creating a Django Project (0) | 2020.07.09 |
4. Github 저장소 생성 (0) | 2020.07.07 |